WooYun-2014-53187:qibocms B2b 注入一枚
漏洞作者: ′雨。
来源:http://www.wooyun.org/bugs/wooyun-2014-053187
简要描述
在wooyun上看了看qibo。 忽略了全部xss. 那我就不提xss了。
来几枚注入, 求不忽略可好?
详细说明
B2B系统。
在news/js.php中
f($type=='hot'||$type=='com'||$type=='new'||$type=='lastview'||$type=='like')
{
if($f_id)
{
if(is_numeric($f_id)){
$SQL=" fid=$f_id ";
}else{
$detail=explode(",",$f_id);
$SQL=" fid IN ( ".implode(",",$detail)." ) ";
}
}
else
{
$SQL=" 1 ";
}
if($type=='com')
{
$SQL.=" AND levels=1 ";
$ORDER=' list ';
$_INDEX=" USE INDEX ( list ) ";
}
elseif($type=='hot')
{
$ORDER=' hits ';
$_INDEX=" USE INDEX ( hits ) ";
}
elseif($type=='new')
{
$ORDER=' list ';
$_INDEX=" USE INDEX ( list ) ";
}
elseif($type=='lastview')
{
$ORDER=' lastview ';
$_INDEX=" USE INDEX ( lastview ) ";
}
elseif($type=='like')
{
$SQL.=" AND id!='$id' ";
if(!$keyword)
{
extract($db->get_one("SELECT keywords AS keyword FROM {$_pre}content WHERE id='$id'"));
}
if($keyword){
$SQL.=" AND ( ";
$keyword=urldecode($keyword);
$detail=explode(" ",$keyword);
unset($detail2);
foreach( $detail AS $key=>$value){
$detail2[]=" BINARY title LIKE '%$value%' ";
}
$str=implode(" OR ",$detail2);
$SQL.=" $str ) ";
}else{
$SQL.=" AND 0 ";
看到keyword 解码了。 所以无视了全局的转义了。
然后用空格来切割。
就不能用空格了。
官网测试成功。
漏洞证明
修复方案
求过滤
求保养
求20.