好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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注入。 修复方案: 多做过滤

查看更多关于WiiNews(Mobile新闻系统)注入漏洞及解决方案的详细内容...

  阅读:40次