小码:手动输入的命令
大码:功能比较多
当起web服务时候,不管是什么尽量用较低的权限去启动或者下载,这样黑客在拿到webshell时候,用户权限的等级较低,可以给应急一定的响应事件。
//通过webshell连接数据库
<?php $servername = "localhost"; $username = "username"; $password = "password"; //创建连接 Sconn = new mysali($servername,$username,$password) //检测连接 if ($conn->connect_error) { die("连接失败:“$conn->connect_error); } echo"连接成功"; ?>文件包含并执行,什么文件格式都可以,包括txt,下面含有phpinfo();也会运行。
<?php include 'shell.png'?>如果上传文件,那么是以POST进行传参,日志上看不见上传了什么文件。
2. webshell流量特征
常见webshell管理工具交互流量特征都有哪些?
1、菜⼑特征:PHP 类 WebShell流量中eval函数用于执行传递的攻击 payload,流量参数z0、z1、z2
2、冰蝎3.0:默认内置 16 个 user-agent,content-type为application/octet-stream
3、蚁剑:PHP 类 WebShell流量最中明显的特征为 @ini_set (“display_errors”,“0”);
1.1.菜刀特征
默认的webshell中链接密码都是caidao,ua头为百度爬虫、请求体中存在eavl,base64等特征字符
响应包中包含X@Y、php的webshel中流量参数z0、z1、z2
1.2.冰蝎3.0 :
默认内置 16 个 user-agent,content-type为application/octet-stream**
请求包中content-length 为5740或5720(可能会根据Java版本而改变)
每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
1.3.冰蝎2.0:
建立连接后 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;
静态分析:
各种语言的webshell中都会存在16位数的连接密码,默认变量为key
1.4.冰蝎3.11流量特征
1、header头顺序是颠倒的
2、发送包是base64,返回包是字节数组,所以会乱码
3、如果冰蝎密码不对,会出现两个连接,第一个是post 第二个是get
- content-type为application/octet-stream ,请求包中content-length 为5740或5720(可能会根据Java版本而改变),
每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
2.异常User-Agent---- 出现WOW64等 - 频繁访问默认的路径/conn.jsp
1.5.蚁剑:
PHP 类 WebShell流量最中明显的特征为 @ini_set (“display_errors”,“0”);
同时会带有base64编码解码等字符特征, 每个请求体都存在@ini_set(“display_errors”, “0”);
@set_time_limit(0)开头。并且存在base64等字符,响应包的结果返回格式为 随机数 结果 随机数
1.6.哥斯拉:
不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)
在请求包的Cookie中有一个非常致命的特征,最后的分号
标准的HTTP请求中最后一个Cookie的值是不应该出现;的
1.6.1.请求包的特征:
- “pass=”起始
- 请求包较长 响应包为0
- 一个tcp包里面有三个http
1.6.2.响应包特征:
整个响应包的结构体征为:md5前十六位+base64+md5后十六位
1.7.哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征:
host头
密码和base64字符串是密码=base64字符串的形式
发送包是密码=bae64字符串的形式,返回包是类base64字符串的格式
- 对称加密算法:JAVA_AES_BASE64是哥斯拉4.0.1使用的对称加密算法;
因此可以根据哥斯拉4.0.1的流量中是否包含JAVA_AES_BASE64来判断是否为哥斯拉4.0.1攻击流量 - 长度固定:哥斯拉4.0.1使用JAVA_AES_BASE64算法对数据进行加密后,加密后数据的长度是固定的
因此,可以根据攻击流量的长度是否固定来判断是否为哥斯拉4.0.1攻击流量 - 常见数据前缀:哥斯拉4.0.1加密的数据在明文数据前会添加特定的前缀;
因此,可以根据攻击流量中是否包含常见的数据前缀来判断是否为哥斯拉4.0.1攻击流量。
3. 内存马
先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志
如果是filter或者listener类型就会有**大量url请求路径相同参数不同的,或者页面不存在但是返回200的**,
查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合
通过查找**返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马**
如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,
排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据-
业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。
java内存马类型:
filter listener servlet websocket javaagent
4. 检测Webshell方法
webshell是有名字的。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-IXkbQqyj-1712726094638)]