我最近遇到了一次 RFI 攻击,其中查询字符串有一堆 ../../../,我想修改 .htaccess 以防止查询字符串中出现任何 ../。
我一直在尝试这个,直到我意识到需要逃脱的时期:
RewriteCond %{QUERY_STRING} ../
RewriteRule .* - [F]
然后我将其更改为:
RewriteCond %{QUERY_STRING} \.\./
RewriteRule .* - [F]
但它仍然禁止查询字符串中的任何 / 。
另外,如果我有规则,{REQUEST_URI}
那会是{QUERY_STRING}
多余的吗?
谢谢。
编辑:
我已经成功地通过以下方式使它起作用:
RewriteCond %{QUERY_STRING} (\.\./)
但是,RewriteCond %{REQUEST_URI} \.\./
还是RewriteCond %{REQUEST_URI} (\.\./)
没有。我也试过/\.\./
&(/\.\./)