双URL编码绕过WAF

一般编码一次是%5c。

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

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

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

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

 

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

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

posted @   华中第一黑  阅读(491)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示