亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

利用密碼重置功能實(shí)現(xiàn)賬號劫持

從Blind XSS說起

在對一個(gè)域名進(jìn)行前期踩點(diǎn)時(shí),我偶然發(fā)現(xiàn)一個(gè)前端應(yīng)用,它有一個(gè)是很舊的主界頁,但登錄表單沒有使用HTTPS。我想,如果連登錄頁面的證書都沒有,那應(yīng)該還會(huì)存在什么脆弱性呢?于是我認(rèn)真檢查并發(fā)起測試請求,嘗試在該頁面網(wǎng)站注冊一個(gè)新賬號。可惜的是,必須需要一個(gè)后綴為@company.com的公司郵箱,或者注冊帳號需要后臺管理員驗(yàn)證批準(zhǔn),才能成功完成注冊。

考慮到這一點(diǎn),我想我應(yīng)該測試一下該前端應(yīng)用是否存在Blind XSS漏洞,于是我在登錄的“名字”和“姓氏”字段中提交了有效的XSS測試載荷,當(dāng)我單擊“提交”按鈕時(shí),收到以下錯(cuò)誤消息,這讓我感到意外。我沒把blind XSS測試載荷一起截屏,但整個(gè)過程返回了以下錯(cuò)誤響應(yīng):

測試盲注漏洞(Blind SQLi)

好吧,既然這樣,那我來試試盲注漏洞(Blind SQLi)吧。通常,出現(xiàn)這類錯(cuò)誤響應(yīng)信息后,我會(huì)第一時(shí)間想到用Sqlmap來測試一下注入漏洞。但遺憾的是,可能因?yàn)椴荒苁褂猛粋€(gè)郵箱兩次注冊賬號,此處發(fā)起的賬號注冊式的SQL注入請求沒能成功響應(yīng)。另外,在Sqlmap中存在一個(gè)選項(xiàng)設(shè)置,可以在賬號注冊需要的郵箱地址中添加一個(gè)數(shù)字,形成特殊的注冊請求,但是我發(fā)現(xiàn)手動(dòng)來做速度會(huì)更快。就這樣,我反反復(fù)復(fù)試來試去,最終也只能得到一些無效的語法響應(yīng)。好在,在朋友Gerben Javado的幫助下,我成功構(gòu)造了一條有效的賬號注冊式SQL請求,其響應(yīng)提示,該注冊賬號已成功創(chuàng)建,但卻需要等待后臺激活。

既然能這樣,那這肯定存在盲注漏洞(Blind SQLi),但由于我無法從測試頁面中查看到請求響應(yīng)結(jié)果,我就轉(zhuǎn)而使用以下Payload來繼續(xù)測試:

“-IF(MID(@@version,1,1) = 5, sleep(10), “”)-”

該P(yáng)ayload下,頁面在10秒過后發(fā)生響應(yīng),其中MID(@@version,1,1) = 5來測試后端MySQL數(shù)據(jù)庫版本是否為5以上。另外,我還在此發(fā)現(xiàn)了一個(gè)反射型XSS。

實(shí)現(xiàn)賬號劫持

現(xiàn)在,可以構(gòu)造有效的賬號注冊式SQL請求,也能形成有效的盲注漏洞(Blind XSS ),為此,我一直用XSSHunter來測試看看能否發(fā)現(xiàn)新的XSS點(diǎn),幾經(jīng)測試已是深夜,困的不行,只能明天再戰(zhàn)。第二天,我認(rèn)真查看測試記錄,意識到接下來可以從3個(gè)方面深入:

在第一張MySQL的錯(cuò)誤響應(yīng)截圖中,在底中可以看到它提示“Please contact XXXXXX and let him know you’re having trouble.“,這至少能說明我給出的注冊需要郵箱是有效的;

在第二張賬號注冊式的SQL請求截圖中,其中提示,網(wǎng)站系統(tǒng)后臺會(huì)向注冊郵箱發(fā)送一封驗(yàn)證郵件;

另外,可以對網(wǎng)站系統(tǒng)的密碼重置功能進(jìn)行一些后續(xù)分析。

綜合以上三方面情況,我決定測試一下其密碼重置功能。由于我提交了上述發(fā)現(xiàn)的盲注漏洞,目標(biāo)公司告知我,曾經(jīng)按計(jì)劃,這個(gè)網(wǎng)站應(yīng)用本來是要被移除下線的,為此他們讓我不用擔(dān)心風(fēng)險(xiǎn)后果,放開手腳去測試。另外,征得目標(biāo)公司同意,我獲得了一個(gè)有效的公司名后綴郵箱valid_user_address@company.com,以便用于后續(xù)測試。

在密碼重置功能中,唯一的要求是有一個(gè)有效的公司名后綴電子郵箱,它會(huì)向用戶發(fā)送一封電子郵件,該郵件內(nèi)容具體不詳。我先來測試它是否易受HTTP參數(shù)污染攻擊( HTTP Parameter Pollution),之后是SQL注入漏洞,但好像都不行。然后我想,如果系統(tǒng)后臺正在向我提供的郵箱地址發(fā)送驗(yàn)證性郵件,那么我是否可以嘗試,使用SMTP標(biāo)頭注入法( SMTP header injection)將我自己設(shè)置的郵箱地址,添加成抄送或密件抄送的另外一個(gè)郵箱地址,這樣我就能收到與提供郵箱同樣的驗(yàn)證郵件了。

SMTP頭注入漏洞是在未進(jìn)行充分審查過濾的情況下,用戶輸入被放入電子郵件標(biāo)頭中,從而使攻擊者能夠注入具有任意值的其他標(biāo)頭。此行為可用于向第三方發(fā)送電子郵件副本、附加病毒、提供網(wǎng)絡(luò)釣魚攻擊,并經(jīng)常更改電子郵件的內(nèi)容。典型應(yīng)用就是,垃圾郵件發(fā)送者通常會(huì)以這種方式,利用存在漏洞的攻擊公司名聲,來增加其電子郵件合法性。如果電子郵件包含了一些攻擊者不該看到的敏感信息(如密碼重置令牌等),則此問題就非常嚴(yán)重。—–Portswigger

最終,我形成的抄送命令如下

valid_user_address%40company.com%0D%0ABCC%3Ame%40me.com%0D%0A

URL解碼之后是這樣的:

valid_user_address@company.com

BCC:me@me.com

其中,me@me.com是我自己提供的郵箱,即抄送副本的第二個(gè)郵箱地址。而valid_user_address@company.com是我征求公司獲取的有效公司郵箱地址。

上述抄送命令提交之后,我立即查看了我的郵箱me@me.com,看看是否有某種密碼重置令牌或其它可進(jìn)行密碼重置的東東,當(dāng)然,我希望這種重置機(jī)制最好是沒有其它類型的雙重驗(yàn)證(2FA)。讓我驚喜的是,我郵箱收到的電子郵件內(nèi)容如下:

15246366905621.png!small

就這樣,網(wǎng)站以明文形式向我發(fā)送了用戶密碼,我甚至可以通過登錄確認(rèn)該密碼仍然有效。最終,我向項(xiàng)目組提交了我的測試報(bào)告,另外,結(jié)合之前發(fā)現(xiàn)的Blind XSS,我還發(fā)現(xiàn)了更多的SQL注入漏洞,之后,目標(biāo)測試公司也下線停用了該網(wǎng)站。

本文來自 FreeBuf.COM

上一篇:‘FakeUpdates’惡意行動(dòng)利用大量網(wǎng)站傳播木馬

下一篇:攻擊工控系統(tǒng)可引起災(zāi)難