天天看點

dedecms 漏洞_DEDECMS僞随機漏洞分析

一 、本篇

本文為“DEDECMS僞随機漏洞”系列第三篇,檢視前兩篇可點選底部【閱讀原文】:

第一篇:《DEDECMS僞随機漏洞分析 (一) PHP下随機函數的研究》

第二篇:《DEDECMS僞随機漏洞分析 (二) cookie算法與key随機強度分析》

根據第二篇,我們有信心去周遊root key的所有可能, 但是我們還需要一個碰撞點, 才能真正得到root key的值, 本篇找到了兩個碰撞點, 并編寫了簡單的POC來擷取root key。

二 、碰撞點

可能還存在其他碰撞點, 這兒僅找到兩個: )

1.使用者首頁

1.1 限制條件(中)

要求開啟會員功能

1.2 代碼分析

dedecms 漏洞_DEDECMS僞随機漏洞分析

1.3 擷取方法

請求:(檢視admin首頁)

響應:

admin

last_vid_ckMd5 的hash值

dedecms 漏洞_DEDECMS僞随機漏洞分析

2. 自定義表單

2.1 限制條件(低)

網站管理者需要為網站定義表單.

下載下傳了幾套通過DEDECMS改造的模闆, 都保留了該功能, 且大部分站點有自己的表單格式.或者說正常在使用的dedcms大部分都有表單: )

2.2 代碼分析

dedecms 漏洞_DEDECMS僞随機漏洞分析
dedecms 漏洞_DEDECMS僞随機漏洞分析

2.3 擷取方法

請求:(檢視表單)

響應:

dede_fieIds

dede_fieIdshash 這兩個值

dedecms 漏洞_DEDECMS僞随機漏洞分析

3. POC

1. 儲存如下代碼到dede_funcookie.php

2. 修改裡面的$cpu, $attack_method, $attack_param, $attack_hash

3. 若是目标網站為php7: php7 dede_funcookie.php 若是目标網站為php5: php5 dede_funcookie.php,若是不明确可以兩個都跑 ε=ε=ε=(~ ̄▽ ̄)~

4. 在16核 CPU,8G記憶體下, 跑完整個程式需要 4444秒,建議不要同時跑兩個, 注意自己的CPU負載情況

四、危害

1. Cookie僞造

2. 通過郵箱認證

3. 前台RCE

郵箱hash算法,唯一不知道的是rootkey, 通過poc跑出了rootkey,就能構造出來,然後通路hash即可通過郵箱認證, 對于”dedecms前台任意使用者登入”的利用有些許幫助⑧

五、實戰

TIPS: 可以通過指紋,把hash全部采集到, 然後腳本跑一遍即可全部出結果, 因為全網的dedecms的root key分布在2^33這個範圍内: ), 在跑腳本周遊這個範圍的時候其實都覆寫到了.

FIND A Luck One:

1. 指紋查找

dedecms 漏洞_DEDECMS僞随機漏洞分析

2. 碰撞data和hash

dedecms 漏洞_DEDECMS僞随機漏洞分析

3. ATTACK:

修改一下dede_funcookie.php裡面的參數:*本文作者:,轉載請注明來自FreeBuf.COM

dedecms 漏洞_DEDECMS僞随機漏洞分析

4. GET ROOT KEY AND ENJOY:

睡了一覺, 看一下結果:

在nohup2.out裡面:

dedecms 漏洞_DEDECMS僞随機漏洞分析

防護建議

可以考慮在rootkey後面手動加入一些值,或者生成算法部分加入目前時間、ip、servername,或者uuid混合一下,作為防護手段。

*本文作者:光通天下,轉載請注明來自FreeBuf.COM

dedecms 漏洞_DEDECMS僞随機漏洞分析

精彩推薦

dedecms 漏洞_DEDECMS僞随機漏洞分析
dedecms 漏洞_DEDECMS僞随機漏洞分析
dedecms 漏洞_DEDECMS僞随機漏洞分析
dedecms 漏洞_DEDECMS僞随機漏洞分析
dedecms 漏洞_DEDECMS僞随機漏洞分析