導讀:織夢技術織夢技術此漏洞無視gpc轉義,過80sec注入防御。 補充下,不用擔心后臺找不到。這只是一個demo,都能修改任意數據庫了,還怕拿不到SHELL? 起因是全局變量$GLdede手機模板織夢模板。

此漏洞無視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) { $prefix="ddmx_"; $sql = str_replace($prefix,$GLOBALS['cfg_dbprefix'],$sql); //看到這里無話可說,不明白為什么要這樣做。 $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("UPDATE `ddmx_downloads` SET downloadsdownloads = downloads + 1 WHERE hash='$hash' "); if($rs <= 0) &nbdede,模板sp; { $query = " INSERT INTO `ddmx_downloads`(`hash`,`id`,`downloads`) VALUES('$hash','$id',1); "; $dsql->ExecNoneQuery($query);
關鍵詞標簽: 織夢 漏洞 最新版本
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-18 ,文章dedecms最新版本修改任意管理員漏洞+getshell+exp【配主要講述最新版本,漏洞,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_29872.html