shell 免杀aspx_绕过WebShell检测的总结之文件免杀

本文探讨了如何绕过WAF的WebShell检测,主要针对PHP和ASP/ASPX环境。通过混淆代码结构、函数、参数及使用多种编码方式,可以制造WAF的漏报。详细分析了PHP中的eval、assert、preg_replace等函数的免杀技巧,以及ASP的Eval和Execute。此外,还提到了JSP中的Runtime和ProcessBuilder。虽然有一定的规律,但成功绕过仍需实践和创新。
摘要由CSDN通过智能技术生成

WAF会维护一个规则库记录webshell常用的函数、方法、结构,当匹配上对应特征时便发出警告、直接封禁或隔离。但是安全厂商们为了提升用户体验,一般会以可用性为首要目标,其次才是安全性,这是一个硬伤也是绕过的基础

由于正常业务功能的需要,WAF通常并不会全盘枪毙语言中可以执行代码的结构或函数(比如eval),而是判断敏感函数是否处于某种木马后门常用且业务功能不常用的结构中,绕过即是找出既能达到目的又让WAF误以为无害的结构(即漏报)。相应的,如果可以知道WAF对于程序猿们提出的误报作出了哪些妥协,也可以从中获得一些绕过的灵感

为了找出能让WAF漏报的结构,一是尝试混淆可以执行代码的结构或函数,二是混淆传入的参数。而混淆具体该怎么做,便需要结合不同编程语言自身特性分析,总体方向有:

字符串变换(拼接、编码、取反、加密)

函数特性

类特性

迷之注释

变量污染

PHP

PHP有着极其灵活的语言结构,这为涉世未深的开发们提供了极大的便利,而易用与安全似乎自古就是死对头。。。

以下几种结构/函数可将字符串作为代码执行:

# PHP4|5|7

eval ( string $code ) : mixed

# PHP4|5

assert ( mixed $assertion [, string $description ] ) : bool

# PHP7.1

assert ( mixed $assertion [, Throwable $exception ] ) : bool

# PHP4|5利用/e修饰符

preg_replace/preg_filter (

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值