<< Back to man.ChinaUnix.net   CU网友原创,转载请注明出自ChinaUnix.net及原作者

特别的技术注释

PHP特性

当编写用来保护PHP应用程序的ModSecurity规则的时候,需要留意PHP的一些特性。很容易设计一个在你攻击自己的时候有效,对攻击的变种则完全无效的规则。下边是我注意到的一些问题:

l         register_globals被设置成On的时候,请求参数变成了全局变量。(在PHP 4.x中甚至可能覆盖GLOBALS数组)

l         Cookie被当作请求参数处理

l         参数开头的空格会被忽略

l         其他的空格(参数名称中的)会被转换成下划线

l         从请求和环境变量中取参数的顺序是EGPCS(环境变量,getpostcookies,内置变量)。这意味着POST参数会覆盖通过请求行传输的参数(在QUERY_STRING里)。

l         magic_quotes_gpc被设置成On的时候,PHP会使用反斜线(“\”)转义下列字符:单引号、双引号、反斜线和NULL

l         如果magic_quotes_sybase被设置成On,只有单引号会被转义(用另一个单引号)。这种情况下magic_quotes_gpc的设置就无关了(不起作用了?)