[C.Y教程]PHP preg_match()函数漏洞.

2011/10/14 21:13:00  人气 544    怀旧国机论坛  
空间家族的事再搁一搁。我不想被打扰,所以QQ不公布了,因为每次一有人加就是让我帮忙干这干那,或问一些无聊的事!各位老板我不欠你们钱,不帮还在那说这说那,如果入族了那不更要了我命,人心呐!帖子不长,待续
受影响:PHP PHP <= 5.3
正帖:PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
PHP所使用的preg_match()函数从用户输入字符串获得参数,如果所传送的值为数组而不是字符串就会生成警告,警告消息中包含有当前运行脚本的完整路径。[◇C.Y小络★づ.......最后编辑于2011-10-14 21:14:04]
[◇C.Y小络★づ.......于2011-10-14 21:17:51续贴]:

方法带有攻击性,仅供学习之用。风险自负!
http://localhost/cms/modules/system/admin.php?fct=users&op[]=Warning: preg_match() expects parameter 2 to be string, array given in /htdocs/cms/include/common.php on line 105
[◇C.Y小络★づ.......于2011-10-14 21:24:57续贴]:
官方还没出补丁。临时的解决办法:
<?PHPif(isset($$$$_GET[’page’])) { if (is_array($$$$page = $$$$_GET[’page’])) { $$$$casted = (string)$$$$page; } else { $$$$page = htmlspecialch ars($$$$_GET[’page’],ENT_QUOTES,’UTF-8’);
validate_alpha($$$$page); }}function

[◇C.Y小络★づ.......于2011-10-14 21:27:29续贴]:
function validate_alpha($$$$page) { return preg_match(“/^[A-Za-z0-9_-]+$$$$/ “, $$$$page);} ?>
完。~
[◇C.Y小络★づ.......于2011-10-14 21:31:53续贴]:

最后那function 发重了。乎略它.SOrry,我记性不好从哪接上文了。

发表回复

   


  通知楼主
暂无回复!