dedecms最新版本修改任意管理員漏洞+getshell+exp,D
導讀:DEDE技術DEDE技術此漏洞無視gpc轉義,過80sec注入防御。 補充下,不用擔心后臺找不到。這只是一個demo,都能修改任意數據庫了,還怕拿不到SHELL? 起因是全局變量$GL織夢模板網站dede免費模板。
此漏洞無視gpc轉義,過80sec注入防御。
補充下,不用擔心后臺找不到。這只是一個demo,都能修改任意數據庫了,還怕拿不到SHELL?
起因是全局變量$GLOBALS可以被任意修改,隨便看了下,漏洞一堆,我只找了一處。
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)
&n織夢模板網站bsp; {
$prefix="zmb_";
$sql =str_replace($prefix,$GLOBALS['cfg_dbprefix'],$sql); //看到這里無話可說,不明白為什么要這樣做。
&ndede會員中心模板bsp; $this->queryString = $sql;
}
另外說下繞過80sec防注入的方法。
同一文件中,有兩個執行SQL的函數。ExecuteNoneQuery和ExecuteNoneQuery2
而用ExecuteNoneQuery2執行SQL并沒有防注入,于是隨便找個用ExecuteNoneQuery2執行的文件。
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("UPDATdede手機模板E `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);
}
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-22 ,文章dedecms最新版本修改任意管理員漏洞+getshell+exp,D主要講述最新版本,漏洞,DEDE技術網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_34223.html