phpweb伪静态页面注入修复

今天用360和网上提供的一个防注入和跨站漏洞文件修复phpweb注入漏洞,其实默认已经是修复了,但是360还是提示高危漏洞,要有正确输出才可以,字符串已经过滤了,应该提示路径暴露却提示高危phpweb伪静态页面注入漏洞,调用的核心文件加密了,改不了,只有另想他法了。看了下提交的$_GET只有key键值,把键值提取出来过滤下sql语句就好,另外也可以判断数据库中是否存在这条记录,以下是防护代码:

foreach ($_GET as $key => $value){
$id=str_replace("_html","",$key);
}

$getfilter="'|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";

if(preg_match("/".$getfilter."/is",$id)==1){
die("有注入");
}
$sqlaq="select * from pwn_page where id=".$id;
$result = mysql_query($sqlaq);

if(!$result){
print "没有此条记录!";
exit;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.