dedecms tag.php注入漏洞分析與利用工具

來源:互聯網
上載者:User

author:toby57 [www.toby57.cn]
date:2008-08-18

Dedecms算是使用比較廣泛的PHP整站系統了,在被使用的同時系統的安全性也被人們關注。在以前dedecms也爆過不少漏洞,官方都很快出了補丁,前幾天80sec公布了注射漏洞
http://www.80sec.com/dedecms-sql-injection.html,其實這個系統也受最近很流行的多位元組編碼漏洞影響。不過今天說的這個漏洞與多位元組編碼無關,倒跟URL編解碼有關係,

呵呵。僅測試了DedeCms2007(DedeCms V5.1 [sp1])。
目錄下的tag.php檔案對變數$tag處理不當,導致注入漏洞的形成,話不多說,貼代碼:

if(isset($_SERVER["QUERY_STRING"])){
$tag = trim($_SERVER["QUERY_STRING"]); //得到GET的參數
$tags = explode('/',$tag); //以“/”分隔為數組$tags
$tag = $tags[1]; //取數組$tags的第二個元素
if(count($tags)>3) $PageNo = intval($tags[2]);
}else{
$tag = "";
}
$tag = urldecode($tag); //對變數$tag做URL解碼處理,%27解碼後就成了“'”
//如果沒有Tag或Tag不合法,顯示所有Tag
if($tag=="" || $tag!=addslashes($tag) ){ //如果$tag為空白或有'、"、\等字元則執行
$dlist = new TagList($tag,'tag.htm'); //建立類TagList的執行個體,$tag傳給其建構函式,此時$tag可能包含“'”
}
//如果有Tag,顯示文檔列表
else{
$dlist = new TagList($tag,'taglist.htm');
}

類TagList相關代碼:(./include/inc_taglist_view.php)

class TagList
{
..
var $Tag;
..
//php5建構函式
function __construct($keyword,$templet) //$keyword=$tag
{
..
$this->Tag = $keyword;       //$this->Tag=$tag
..
if($this->Tag!='')
{
$this->TagInfos = $this->dsql->GetOne("Select * From `#@__tag_index` where tagname like '{$this->Tag}' "); //查詢執行,漏洞產生!
}

以上就是代碼的分析,可能說得不太清楚,這樣的漏洞因為可以使用“'”,所以如果條件可以的話可以直接into file得SHELL。
利用方面大家自由發揮。為了方面我自己寫了一個利用程式(http://files.cnblogs.com/allyesno/dedeExp.rar)

當File_priv為YES並得到了實體路徑的時候就可以直接Get the shell了。其中得到實體路徑的方法是利用了./include/htmledit/index.php的一個漏洞,我們提

交./include/htmledit/index.php?modetype=basic&height[]=toby57就可能得到路徑。

如果這樣得不到的話,還可利用重新安裝漏洞,提交./install/index.php?step=2可以重新安裝系統,當然也可以得到實體路徑。

因為不能union查詢,所以運氣差的只有自己Get the hash再破解進後台拿SHELL了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.