网站地图    收藏   

主页 > 后端 > 网站安全 >

WiiNews(Mobile新闻系统)注入漏洞及解决方案

来源:自学PHP网    时间:2020-01-03 23:07 作者: 阅读:

[导读] 漏洞文件:newsDetail.php漏洞类型:sql注入漏洞漏洞发现:Fa1c0nSql注射漏洞,爆出数据库结构, 主机相关信息,导致信息泄漏,导致大量用户信息泄漏。详细说明:代码片段: ?$id=sqlReplace(Trim...

WiiNews(Mobile新闻系统)注入漏洞及解决方案

漏洞文件:newsDetails.php
漏洞类型:sql注入漏洞
漏洞发现:Fa1c0n


Sql注射漏洞,爆出数据库结构, 主机相关信息,导致信息泄漏,导致大量用户信息泄漏。


详细说明:


代码片段:

" ?>
        
$id=sqlReplace(Trim($_GET['id']));
        
$sqlStr="select * from wiinews_news where news_id=$id";
        
$result = mysql_query($sqlStr) or die ("查询失败,请检查SQL语句。编码号:1010");
        
$row = mysql_fetch_array($result);..........后面代码省略...
        
$id=sqlReplace(Trim($_GET['id']));我们看下sqlReplace函数做了些什么
        
代码片段:function sqlReplace($str)
        
{
        
$strResult = $str;
        
if(!get_magic_quotes_gpc())// www.2cto.com 如果gpc没有开的话{
        
$strResult = addslashes($strResult);//编码}
        
return HTMLEncode($strResult);//gpc开的话,返回HTMLEncode()}
        
function HTMLEncode($str){
        
if (!empty($str)){
        
$str=str_replace("&","&",$str);
        
$str=str_replace(">",">",$str);
        
$str=str_replace("<","<",$str);
        
$str=str_replace(CHR(32)," ",$str);
        
$str=str_replace(CHR(9)," ",$str);
        
$str=str_replace(CHR(9)," ",$str);
        
$str=str_replace(CHR(34),""",$str);
        
$str=str_replace(CHR(39),"'",$str);
        
$str=str_replace(CHR(13),"",$str);
        
$str=str_replace(CHR(10),"",$str);
        
}
        
//看到了,只拦截了引号,空格,并没有拦截类似and,select的函数return $str;
        
}

漏洞证明:
我们可以构造newsDetail.php?id=1+AND+1=1来进行sql注入。
修复方案:
多做过滤


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论