dede常見漏洞以及解決方法
dede的漏洞公認的多,接手這個網站也接觸了不少,現在就把幾種接觸到的或者瞭解到的漏洞記錄下來,讓大家可以提高警惕,防止網站被攻擊。
1.dede dialog目錄下的配置檔案漏洞
如果有能力的同學最好好好研究下這個目錄下的檔案,漏洞太多了,先只說我遇到的一處
在include/dialog下的config.php第35行
1
2
3
4
5
6
7
8
9
10
11
12
|
if ( $cuserLogin ->getUserID() <=0 )
{ if ( empty ( $adminDirHand ))
{
ShowMsg( "<b>提示:需輸入後臺管理目錄才能登入</b><br /><form>請輸入後臺管理目錄名:<input type=`hidden` name=`gotopage` value=`" .urlencode( $dedeNowurl ). "` /><input type=`text` name=`adminDirHand` value=`dede` style=`width:120px;` /><input style=`width:80px;` type=`submit` name=`sbt` value=`轉入登入` /></form>" , "javascript:;" );
exit ();
}
$adminDirHand = HtmlReplace( $adminDirHand , 1);
$gurl = "../../{$adminDirHand}/login.php?gotopage=" .urlencode( $dedeNowurl );
echo "<script language=`javascript`>location=`$gurl`;</script>" ;
exit ();
} |
修改方案:$gurl = “../../{$adminDirHand}/login.php?gotopage=”.urlencode($dedeNowurl);上面新增如下語句:
$adminDirHand = HtmlReplace($adminDirHand, 1);
2.dede group.php頁面sql注入漏洞
具體在group/global.inc.php中
1
|
$db ->SetQuery( "SELECT G.groupname,G.groupid,G.des,G.groupimg FROM #@__group_user AS U LEFT JOIN #@__groups AS G ON U.gid=G.groupid WHERE U.uid IN({$_GROUPS[`_vars`][`mids`]}) AND U.isjoin=1 AND U.gid<>$id LIMIT 0,6" );
|
$id直接來自使用者的輸入。應該給$id加過濾
3.dede 5.7版本sql注入漏洞
漏洞位置:/member/ajax_membergroup.php
漏洞原因:沒有對membergroup變數進行過濾
4.wap跨站攻擊
漏洞檔案:wapphp第39行
解決方式:echo htmlspecialchars($pageBody);
5.dede搜尋模組sql注入
漏洞檔案 : plus/search.php檔案存在變數覆蓋漏洞,導致$typeid能被二次覆蓋,產生sql注入漏洞。
解決方式:官網下載補丁吧.
6.dede 5.6版本任意sql注入漏洞
原因:形成原因:由於dedecmsv5.6的全域性機制可以任意給其賦值,而且高階搜尋功能/plus/advancedsearch.php中的$sql變數未初始化,導致高階搜尋功能可以繞過模板定義直接執行任意SQL語句。
解決方法:對高階搜尋功能/plus/advancedsearch.php中的$sql變數初始化
7.dede全域性變數漏洞:
漏洞檔案:include/common.inc.php
解決方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
在 / include /common.inc.php 中
找到註冊變數的程式碼 foreach (Array( `_GET` , `_POST` , `_COOKIE` ) as $_request )
{ foreach ($ $_request as $_k => $_v ) ${ $_k } = _RunMagicQuotes( $_v );
} 修改為 foreach (Array( `_GET` , `_POST` , `_COOKIE` ) as $_request )
{ foreach ($ $_request as $_k => $_v ) {
if ( strlen ( $_k )>0 && eregi ( `^(cfg_|GLOBALS)` , $_k ) ){
exit ( `Request var not allow!` );
}
${ $_k } = _RunMagicQuotes( $_v );
}
} |
8.dede feedback.php頁面漏洞
原因:DedeCMS的plusfeedback.php中對變數 $typeid未做過濾,導致SQL隱碼攻擊漏洞。
解決方式:官方有補丁
9.dede變數覆蓋漏洞,安裝完了刪除了install就解決了
10.dede圈子搜尋漏洞
漏洞頁面:/group/search.php
解決方式:第16行:
1
|
$keyword = htmlspecialchars( addslashes ( $keyword ));
|
11.dede官方原始碼漏洞
原始碼檔案:include/shopcar.class.php檔案第8行:
解決方式:刪除@eval(file_get_contents(`php://input`));
12.dede新版本變數覆蓋漏洞
檔案include/common.inc.php
解決方式:
1
2
3
|
CheckRequest($_REQUEST); 在下面新增 CheckRequest($_COOKIE); |
13 .dede檔案包含漏洞
漏洞檔案:Include/payment/alipay.php Include/payment/yeepay.php
解決方式:官方有補丁
14.dede樣式分享XSS漏洞
漏洞檔案plus/bshare.php
解決方式:
1
|
plus目錄下的bshare.php檔案117行 $uuid = isset( $uuid )? $uuid : `` ;改成 $uuid = isset( $uuid )? htmlspecialchars( $uuid ) : `` ;
|
相關文章
- 常見Web開發漏洞解決方法Web
- 【MySQL】常見slave 延遲原因以及解決方法MySql
- 【MySQL】六、常見slave 延遲原因以及解決方法MySql
- keepalived 1.3.5常見配置以及常見問題解決
- Hadoop使用常見問題以及解決方法(轉載)Hadoop
- As常見問題解決方法
- javaWeb常見異常的解決方法JavaWeb
- 貼片電感器發燙常見原因以及解決方法詳解
- 【常見的SQL Server連線失敗錯誤以及解決方法】SQLServer
- Nacos 常見問題及解決方法
- 網站常見反爬解決方法網站
- DVR常見故障原因及解決方法VR
- 常見等待事件的分析解決方法事件
- vue中常見的問題以及解決方法Vue
- win10系統安裝常見的問題以及解決的方法Win10
- Spring10種常見異常解決方法Spring
- Git:程式碼衝突常見解決方法Git
- Hadoop常見問題及解決方法Hadoop
- KMP常見問題及解決方法【Z】KMP
- Solaris 常見問題及解決方法(轉)
- 常見BUG解決
- 玩轉html2canvas以及常見問題解決HTMLCanvas
- RecyclerView的使用總結以及常見問題解決方案View
- 網路交換機常見故障及解決方法
- DevExpress DateEdit 5 常見問題解決方法devExpress
- 常見的死鎖情況及解決方法
- 網路速度變慢的常見解決方法
- CentOS6.5安裝mysql以及常見問題的解決CentOSMySql
- DNS故障的幾種常見原因及解決方法DNS
- MySQL常見錯誤分析與解決方法總結MySql
- Oracle 常見的錯誤問題及解決方法Oracle
- 常見的80004005錯誤及其解決方法 (轉)
- Windows共享資料夾常見問題解決方法Windows
- git常見問題解決Git
- 常見問題及解決
- 論PHP常見的漏洞PHP
- 中科三方——SSL常見錯誤及解決方法
- SSL證書7大常見錯誤及解決方法!