双URL编码绕过WAF

一般编码一次是%5c。

但攻击者怕这个会被认出来,所以用二次编码,把%本身编码成%25。再和后边拼成%255c。

如果URL解码器有缺陷,只不断重复“从前边开始解析”这个步骤,就会把这个先变回%5c,再变成/,出现循环解析。当然这是错误的。正确的只应该解一步变成%5c。

抵抗父级目录回溯攻击,绝对不能依赖字符过滤,你过滤不完的。必须用“鸭子编程法”,先不论如何构造完整路径,再检验是否在有权的操作目录下。

要正确进行URL解码,谨记使用PHP等语言提供的内部函数,切勿重复发明轮子。

 

参考:https://segmentfault.com/q/1010000000409000

http://safefox.xyz/index.php/archives/53/

posted @ 2021-06-15 14:42  流亡青年  阅读(447)  评论(0编辑  收藏  举报