webshell之编码免杀

Unicode编码

jsp支持unicode编码,如果杀软不支持unicode查杀的话,基本上都能绕过

webshell之编码免杀_第1张图片

注意这里的\uuuu00可以换成\uuuu00uuu...可以跟多个u达到绕过的效果

webshell之编码免杀_第2张图片

将代码(除page以及标签)进行unicode编码,并条件到<%%>标签中,即可执行webshell

在线unicode编码转换:https://3gmfw.cn/tools/unicodebianmazhuanhuanqi/

注意用此在线unicode编码后内容会存在 /ua ,需要手动删除,负责无法正常运行

可以看到依旧执行成功

查杀效果:

webshell之编码免杀_第3张图片

webshell之编码免杀_第4张图片

webshell之编码免杀_第5张图片

webshell之编码免杀_第6张图片

这个基本上是通杀了属实是,但由于特征过于明显,如果人工查杀的话,很容易被发现

CDATA特性

这里是要是利用jspx的进行进行免杀,jspx其实就是xml格式的jsp文件

在jspx中,可以利用jsp:scriptlet来代替<%%>

webshell之编码免杀_第7张图片

webshell之编码免杀_第8张图片

当jsp:scriptlet被过滤时可以利用EL表达式,达到绕过的效果

webshell之编码免杀_第9张图片

EL表达式的11个隐含对象

webshell之编码免杀_第10张图片

其他情况:

webshell之编码免杀_第11张图片

以上是jsp的一些特性,下面开始正式讲解CDATA

webshell之编码免杀_第12张图片

下面是用xml格式的jsp文件

webshell之编码免杀_第13张图片

webshell之编码免杀_第14张图片

可以看到这里是能正常运行的,接下来文件使用CDATA进行混淆

webshell之编码免杀_第15张图片

webshell之编码免杀_第16张图片

依旧是能成功运行的,但是我们可以requst和Runtime这些类名都被插入了CDATA,从而消除了特征

免杀效果:

webshell之编码免杀_第17张图片

webshell之编码免杀_第18张图片

webshell之编码免杀_第19张图片

webshell之编码免杀_第20张图片

HTML编码

这里HTML编码免杀与jspx的特效有关,前面的CDATA设计到了jspx的相关知识,由此CDATA的免杀就在上文讲了

在XML里可以通过html实体编码来对特殊字符转义,jspx同样继承了该特性,由此jspx就具有识别html实体编码,接下来我们就利用上面的免杀马进行进一步的混淆

webshell之编码免杀_第21张图片

注意:含有CDATA的内容是不能进行html实体编码的,反之html实体编码后的内容也不能插入CDATA,否则无法执行

在线html实体编码:https://www.qqxiuzi.cn/bianma/zifushiti.php

webshell之编码免杀_第22张图片

可以看到依旧可以正常运行

你可能感兴趣的:(java,开发语言,网络,安全,html)