密碼找回中的套路

發(fā)布時(shí)間:2024-03-15
首先這不是一篇總結(jié)性的帖子,畢竟對(duì)于密碼找回的測(cè)試方法網(wǎng)絡(luò)上有比較全面的總結(jié),比如用戶憑證暴力破解,系統(tǒng)返回了重要的憑證,郵箱手機(jī)弱token,token通用,session覆蓋,用戶憑證有效期問(wèn)題,憑證算法被破解,前端校驗(yàn)等等一系列漏洞。在這里附上前輩總結(jié)的腦圖,總結(jié)的也是比較詳細(xì)了。在日常的授權(quán)測(cè)試以及論 壇瞎逛中,發(fā)現(xiàn)了一些對(duì)于個(gè)人而言比較有意思的找回密碼的操作,獨(dú)樂(lè)樂(lè)不如眾樂(lè)樂(lè),分享出來(lái)希望能幫到各位師傅。
有些人認(rèn)為http的聯(lián)機(jī)就是靠包里的host header來(lái)連接的,所以會(huì)認(rèn)為如果修改掉包里的host, 那么就連接不到目標(biāo)服務(wù)器,所以是不可控的。其實(shí)http的聯(lián)機(jī)與包里的host并沒(méi)有啥關(guān)系, http的聯(lián)機(jī)是tcp/ip建立的, 所以修改掉host header并不會(huì)把包丟到另外一個(gè)服務(wù)器上。
所以當(dāng)應(yīng)用使用$_server['http_host']獲取網(wǎng)站url并拼接到找回密碼的鏈接當(dāng)中就會(huì)產(chǎn)生漏洞。當(dāng)你使用網(wǎng)站密碼重置功能時(shí),網(wǎng)站url可能在將來(lái)會(huì)改變,所以要?jiǎng)討B(tài)地生成一個(gè)郵箱找回密碼的鏈接來(lái)匹配服務(wù)器的url。這個(gè)時(shí)候可能就會(huì)使用$_server['http_host'],host header 是客戶端提供的,意味著攻擊者可以將他們自己的網(wǎng)址寫(xiě)到重置密碼的郵件當(dāng)中,威脅任意用戶的賬戶安全。通過(guò) x-forwarded-host 來(lái)拼接找回密碼鏈接中的域名,這樣可以通過(guò)寫(xiě)入自己控制的域名,然后通過(guò)訪問(wèn)記錄發(fā)現(xiàn)找回密碼鏈接,在拼接回正確域名重置任意用戶密碼。
利用條件是受害者必須要點(diǎn)擊重置鏈接,你才能從你控制的網(wǎng)站中通過(guò)訪問(wèn)記錄查看到重置鏈接。
舉個(gè)kackerone的例子:
mavenlink允許用戶注冊(cè)一個(gè)mavenlink.com的子域名去展示他們的內(nèi)容,所以他們需要一個(gè)方法去動(dòng)態(tài)地決定公司的子域名。
host header 可以設(shè)置為mavenlink.com的任意子域名,但是從mavenlink.com更改域名將會(huì)返回一個(gè)錯(cuò)誤,而不是發(fā)送一個(gè)郵件。
添加一個(gè)隨機(jī)的mavenlink.com的子域名,但是這會(huì)被定向到正確的頁(yè)面,沒(méi)辦法插入自己的域名。
測(cè)試特殊字符。服務(wù)器接受host header中的一個(gè)問(wèn)號(hào),生成下面的鏈接host: example.com?.mavenlink.com這樣就可以從用戶郵件中盜取密碼重置token當(dāng)然這里還涉及到了域名檢測(cè)的繞過(guò)問(wèn)題,一旦用戶點(diǎn)擊該鏈接,我們?cè)趀xample.com即可獲取到重置鏈接信息
在給后端傳遞要發(fā)送驗(yàn)證鏈接的郵箱或者手機(jī)號(hào)時(shí),可以傳遞一個(gè)郵箱或者手機(jī)的集合,然后只要第一個(gè)郵箱或者手機(jī)號(hào)是數(shù)據(jù)庫(kù)里存在的郵箱或者手機(jī)號(hào),那么 將會(huì)向這批手機(jī)號(hào)或者郵箱發(fā)送一樣的鏈接信息團(tuán)隊(duì)測(cè)試中遇到的例子:在hackerone披露的漏洞中同樣存在這樣的例子,通過(guò)發(fā)送兩個(gè)郵箱,一個(gè)為受害者的郵箱,一個(gè)為自己控制的郵箱,這樣就可以竊取到受害者郵箱中的重置密碼的鏈接,達(dá)到任意用戶密碼重置的目的。由于沒(méi)有看到過(guò)這種觸發(fā)該漏洞的源碼,猜測(cè)驗(yàn)證環(huán)節(jié)是允許獲取一個(gè)類似于集合的東西,遍歷其中的值是否有存在于數(shù)據(jù)庫(kù)中的值,如果存在則對(duì)該集合放行,然后發(fā)送驗(yàn)證信息的邏輯同樣允許傳入一個(gè)集合再去遍歷集合中的每一個(gè)值,對(duì)每一個(gè)值發(fā)送一樣的驗(yàn)證鏈接
由于sql語(yǔ)句的拼接問(wèn)題導(dǎo)致在手機(jī)號(hào)處存在sql注入問(wèn)題,其實(shí)這也告訴我們?cè)趕ql語(yǔ)句的執(zhí)行中只要涉及到了拼接問(wèn)題就有可能存在漏洞,在團(tuán)隊(duì)授權(quán)的測(cè)試中也遇到過(guò)更改日期處存在sql注入的例子,反正都挺好玩的。這里用了一個(gè)sqrt函數(shù),sqrt為一個(gè)平方根計(jì)算函數(shù),當(dāng)經(jīng)過(guò)平方根計(jì)算之后和前面的數(shù)字拼接,手機(jī)號(hào)存在于數(shù)據(jù)庫(kù)中則發(fā)送驗(yàn)證碼如果經(jīng)過(guò)計(jì)算和前面的數(shù)字拼接手機(jī)號(hào)不存在于數(shù)據(jù)庫(kù)中則顯示驗(yàn)證碼發(fā)送失敗通過(guò)這種方式來(lái)進(jìn)行數(shù)據(jù)庫(kù)相關(guān)信息的猜測(cè)
這種邏輯漏洞總是在攻與防的斗爭(zhēng)中不斷前進(jìn),肯定會(huì)有腦洞大開(kāi)的人發(fā)現(xiàn)更多的騷套路,這是目前在測(cè)試中遇到過(guò)的幾種比較有意思的任意用戶密碼重置漏洞的操作,在互聯(lián)網(wǎng)上能找到例子的盡量采用了互聯(lián)網(wǎng)例子,如有侵權(quán)地方還望告知。
上一個(gè):沒(méi)收是否屬于行政強(qiáng)制措施
下一個(gè):體化凈水處理設(shè)備功能介紹

烏雞的烹飪與食用
蘋(píng)果一體機(jī)雙系統(tǒng)怎么改單個(gè)蘋(píng)果系統(tǒng)(蘋(píng)果一體機(jī) 雙系統(tǒng))
使命召喚16顯示致命錯(cuò)誤(使命召喚16玩著就出現(xiàn)致命錯(cuò)誤進(jìn)不了游戲)
二手房產(chǎn)權(quán)年限是怎么計(jì)算的
雷達(dá)物位計(jì)和超聲波物位計(jì)之間有什么區(qū)別?下面給您講解講解
組裝電腦需要買(mǎi)什么線,組裝電腦的線需要哪些
CR1206F41071G 麗智電阻1206 1.07KΩ ±1%
win10系統(tǒng)安裝包刪除網(wǎng)卡驅(qū)動(dòng)(win10的安裝包怎么刪除)
安全閥分類
刑事案件到法院多久判決書(shū)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos