Exploit
ecshop 3.x bypass waf POC
Analyze
echsop 3.x bypass WAF
用上一次构造的POC打一下,发现被拦了。
搜一下这个字符串。
includes/safety.php
发现3.x带有一个WAF,简单的看了一下,主要是通过正则匹配关键字进行过滤的。
所以POC中不能出现被拦截的关键字,比如 select,union等。
对比了一下2.x和3.x存在漏洞的地方,发现其他位置并没有进行改动。
这里有一个trick可以bypass这个waf - 使用反序列化的escaped binary string类型。
php的反序列化对于转义字符存在一个特性,在序列化和反序列化的时候可以对转义字符进行处理。
众所周知,PHP可以对双引号内的数据进行转义。如图,
所以当然在序列化的时候也可以用。
在反序列化的时候设置数据类型为S时,也可是使用这个特性。(目前没有找到办法可以序列化成S类型,只能通过手动设置)
这里注意一下,S类型的数据长度是转义后的长度,而不是输入数据的长度。
所以刚才的POC注入的SQL语句转成S类型就好了。
下面是POC。
说点废话
这个漏洞的信息量比较大,还是比较值得学习的。中间电脑拿去修了,所以上下篇隔得时间稍微有点久,望谅解。
领取专属 10元无门槛券
私享最新 技术干货