### 0x01 漏洞概述
相关厂商: 上海远丰信息科技有限公司
官方主页: shop-builder.cn
提交时间: 2014-06-03
公开时间: 2014-09-01
漏洞类型: SQL注射漏洞
谷歌关键字: powered by mallbuilder

### 0x02 漏洞详情
首先来看看全局文件
```
function magic()
{
if(!get_magic_quotes_gpc()&&isset($_POST))
{
foreach($_POST as $key=>$v)
{
if(!is_array($v))
$_POST[$key]=addslashes($v);
else
{
foreach($v as $skey=>$sv)
{
if(!is_array($sv))
$_POST[$key][$skey]=addslashes($sv);
else
{
if($sssv)
{
foreach($sv as $sskey=>$ssv)
{
if(!is_array($ssv))
$_POST[$key][$skey][$sskey]=addslashes($ssv);
else
{
if($sssv)
{
foreach($ssv as $ssskey=>$sssv)
{
if(!is_array($sssv))
$_POST[$key][$skey][$sskey][$ssskey]=addslashes($sssv);
else
{
if($sssv)
{
foreach($sssv as $sssskey=>$ssssv)
{
$_POST[$key][$skey][$sskey][$ssskey][$sssskey]=addslashes($ssssv);
}
}
}
}
```
只对post进行了addslashes 没有对GET 等其他的进行addslashes
但是对GET有一个小过滤。
```
if(inject_check(implode('',$_GET)))
{
die('Invalid URL !');
}
```
```
function inject_check($sql)
{
return preg_match("/^select|insert|delete|\.\.\/|\.\/|union|into|load_file|outfile/", $sql);// 进行过滤
}
```
这里匹配到了就退出 但是他这里没有开启/i 修正符
所以大小写就可以绕过了。
绕过了这里 GET的注入点就是一大堆了。
利用方式:
http://**.**.**.**/mallbuilder/lostpass.php?md5=aa&userid=aa'

### 0x03 修复方案
1、过滤漏洞文件参数
2、使用加速乐等防护产品
暂无评论