PHP WebShell 免杀

一般的,利用能够执行系统命令、加载代码的函数,或者组合一些普通函数,完成一些高级间谍功能的网站后门的脚本,叫做 Webshell 。而php做为一门动态语言,其灵活性很高,因此一直以来 Webshell 的绕过与检测之间不断的产生着化学反应。

Webshell 绕过的本质其实是针对不同的检测给予不同的绕过方式,因此首先要了解 Webshell 是如何检测的。

一、Webshell 检测

Webshell的运行流程: hacker -> HTTP Protocol -> Web Server -> CGI 。简单来看就是这样一个顺序:黑客通过浏览器以HTTP协议访问Web Server上的一个CGI文件。棘手的是,webshell就是一个合法的TCP连接,在TCP/IP的应用层之下没有任何特征(当然不是绝对的),只有在应用层进行检测。黑客入侵服务器,使用webshell,不管是传文件还是改文件,必然有一个文件会包含webshell代码,很容易想到从文件代码入手,这是静态特征检测;webshell运行后,B/S数据通过HTTP交互,HTTP请求/响应中可以找到蛛丝马迹,这是动态特征检测。

Webshell 检测真要细说起来就超过本菜鸡的能力范围之内了,大致分为:

  • 静态检测,通过匹配特征码,特征值,危险函数函数来查找 WebShell 的方法,只能查找已知的 WebShell,并且误报率漏报率会比较高,但是如果规则完善,可以减低误报率,但是漏报率必定

你可能感兴趣的:(全栈网络安全,渗透测试,代码审计,网络安全工具开发,php,开发语言)