SemCMS v2.7 密碼找回漏洞

先在本地搭建好環(huán)境。

訪問后臺登錄頁面如下:

image.png

先來看看正常的找回密碼的過程。

首先,查看 tfmp_Admin/index.html 的源碼:

image.png

從代碼可以看到,當(dāng)點(diǎn)擊登錄按鈕旁邊的鏈接“如果忘記賬號與密碼,試試找回?”,時(shí),會執(zhí)行 js的views() 函數(shù),該函數(shù)是彈出一個(gè)對話框并向SEMCMS_Remail.php?type=find 發(fā)送請求,讓用戶填寫要接收重置后密碼的郵箱地址,如下:

image.png

SEMCMS_Remail.php 文件中,當(dāng)type=find時(shí),代碼如下:

image.png

可以看到,就是構(gòu)造上面那個(gè)要求輸入E-mail的表單,點(diǎn)擊“確認(rèn)找回”按鈕,該表單會提交到 ../Include/web_email.php?type=findpassword,看一下 web_email.php 中 type=findpassword 時(shí)的代碼:

image.png

代碼會根據(jù)用戶輸入的E-mail地址,查找 sc_user 表,看是否存在使用該E-mail地址的用戶,如果存在,則隨機(jī)生成4位數(shù)的認(rèn)證碼,并將其拼接到一個(gè)密碼重置鏈接中,最后以郵件的形式發(fā)送給用戶。用戶點(diǎn)擊郵件中的密碼重置鏈接即可;但如果不存在,則彈出對話框,提示“此郵箱不存在!”,如圖:

image.png

這里假設(shè)知道了管理員的郵箱,由于認(rèn)證碼是隨機(jī)的4位數(shù),這里很容易想到暴力破解。但通過 ../Include/web_email.php?type=findpassword 無法進(jìn)行暴力破解,因?yàn)槿缟厦娲a所示,每次進(jìn)入 if ($Type == 'findpassword') 語句塊,認(rèn)證碼會重新生成。所以只能看看有沒有別的地方可以利用。

回頭再查看 index.html 的代碼:

image.png

當(dāng)請求參數(shù) type=ok 時(shí),SEMCMS_Remail.php后面跟的參數(shù)type也是ok,而前面提到,這種情況下,SEMCMS_Remail.php會構(gòu)造另外一個(gè)表單,如下:

image.png

點(diǎn)擊“確認(rèn)找回”按鈕,會提交到 ../Include/web_email.php?type=findok,web_email.php 相應(yīng)部分的代碼如下:

image.png

可以看到,密碼會經(jīng)過md5加密后再存入數(shù)據(jù)庫中。
因此,這里可以通過 http://localhost/semcms_php_v2.7/tfmp_Admin/index.html?type=ok&umail=41864438@qq.com 彈出的表單,提交表單,使用BurpSuite進(jìn)行暴力破解從而將密碼重置。

為了本地測試方便,所以將初始密碼設(shè)置為 111111,其md5的值為:96e79218965eb72c92a549dd5a330112。重置后密碼將變?yōu)?23456,MD5加密后即 e10adc3949ba59abbe56e057f20f883e

image.png

先用Python生成一個(gè)四位數(shù)字的字典:

image.png

利用BurpSuite 進(jìn)行暴力破解:

image.png
image.png
image.png

結(jié)束后,查看數(shù)據(jù)庫,發(fā)現(xiàn)密碼確實(shí)被重置了:

image.png

使用 Admin/123456 可以成功登陸后臺管理頁面:

image.png

另外,這里涉及到表單提交,所以過程中我也想到過能否使用sql注入,然而每一次表單的提交,php代碼中都在sql語句構(gòu)造前,對用戶的表單輸入通過 test_input() 函數(shù)進(jìn)行了安全檢查和過濾,所以不存在SQL注入的問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 細(xì)雨愁煙,尋根祭祖,別離懷緒。 寄與哀思,飄幡冢田處。 冥錢化盡,煙裊裊、燒符燃炷。 君悟,一片丹心,問先人知否。...
    劉小地閱讀 696評論 9 35
  • 文章中,句子內(nèi)部間存在天然的意義聯(lián)系,或者叫邏輯關(guān)系。弄清句子內(nèi)部之間的關(guān)系,對于閱讀和寫作來說,意義重大。一方面...
    稻輿菊閱讀 3,051評論 0 1
  • 前幾天寫了一個(gè) flex.el , 今天看了一下 bison-mode.el 的代碼, 也太陳舊了, 順手再寫一個(gè)...
    ManateeLazyCat閱讀 1,060評論 0 3
  • 正式上班第一天,今天交易不好,總結(jié)到了是自己看的不好,分析不出有用的東西在其中一個(gè)品種! 今天股票反而走得不錯(cuò)! ...
    DeathKnightR閱讀 106評論 0 0

友情鏈接更多精彩內(nèi)容