注释填充
参考Webshell-Detect-Bypass
项目glorysday.asp
可以绕过阿里云的检测。这部分作者主要用了下面几个技巧。
利用
'%>
和'<%
分别闭合前后标签填充大量垃圾<%%>
标签,且最后文件体积大小要合适(测试发现文件大小约>0.97 MB)在一定位置插入至少一个
<??>
字符串
之前我在绕云WAF时,发现增加垃圾字符可以绕过云WAF的检测,所以我怀疑能绕过是因为大量垃圾字符的。于是我去除了'%>
这部分,只使用大量的<%%>
填充,也确实绕过了云查杀。但是如果使用其他字符填充无法绕过,所以我推测能绕过的原因是匹配<%%>
的次数过多而导致的溢出。
虽然大量填充可以绕过阿里云的查杀,但是这种方式在实战中并不可取,由于上传文件内容过大,导致在访问文件的过程中会有一些卡顿,一定程度上影响了客户端和webshell的交互。
注释符
下面的方式也绕过了查杀,可以注意到加上在<!--
后面加上双引号解析发生了一些改变。
1 | <% |
改为单引号,双数个双引号和单数个双引号进行测试,均无法绕过阿里云。
分离免杀
其实asp webshell的核心就一句话,所以我们免杀的方法就是将参数的接收和执行部分分开。
1 | <!--#include file ="test.txt"--> |
1 | <% |