WAF (ModSecurity) PHP查询字符串解析器也可能被滥用以绕过WAF规则,想象一下ModSecurity规则,SecRule !ARGS:news_id "@rx ^[0-9]+\$" "block"显然很容易使用相同的绕过技术。幸运的是,在ModSecurity中,你可以通过正则表达式指定查询字符串参数。比如:SecRule !ARGS:/news.id/ "@rx ^[0-9]+\$" "block"。
如果IDS / IPS或WAF在news_id参数中有一个用于阻止或记录非数字值的规则,则可以通过滥用此解析过程来绕过它,例如:/news.php?%20news[id%00=42"+AND+1=0--,在PHP中,%20news[id%00中的参数名称的值将存储到$_GET["news_id"]。 PHP需要将所有参数转换为一个有效的变量名,所以当解析查询字符串时,它主...