摘要:微信任意用戶(hù)密碼修改漏洞漏洞描述在微信官方的首頁(yè)上發(fā)現(xiàn)了找回密碼功能。選擇通過(guò)手機(jī)號(hào)碼找回密碼。提交成功,輸入新密碼。網(wǎng)易郵箱可直接修改其他用戶(hù)密碼描述這次我們看一個(gè)郵箱的找回密碼漏洞,這個(gè)還真和上面的方式有點(diǎn)不一樣。
來(lái)自 GitChat 作者:湯青松
更多使用技術(shù),盡在微信公眾號(hào):GitChat技術(shù)雜談
進(jìn)入 GitChat 閱讀原文
WEB安全用戶(hù)密碼找回多案例安全攻防實(shí)戰(zhàn)這次文章以wooyun的密碼找回代表性漏洞作為案例來(lái)講解,漏洞的描述會(huì)通過(guò)提交漏洞的原描述加上我的理解一一列出,通過(guò)密碼找回的過(guò)程描述,得出從漏洞的發(fā)現(xiàn)到漏洞的分析。
密碼找回邏輯測(cè)試一般流程,首先嘗試正常密碼找回流程,選擇不同找回方式,記錄所有數(shù)據(jù)包,分析數(shù)據(jù)包,找到敏感部分,分析后臺(tái)找回機(jī)制所采用的驗(yàn)證手段,修改數(shù)據(jù)包驗(yàn)證推測(cè)
內(nèi)容主要是邏輯漏洞,技術(shù)性質(zhì)的內(nèi)容并不多,以發(fā)散思維為目標(biāo);所以web開(kāi)發(fā)和安全同學(xué)都可以來(lái)看看
分享內(nèi)容目錄用戶(hù)憑證暴力破解
返回憑證
郵箱弱token
用戶(hù)憑證有效性
重新綁定
一、用戶(hù)憑證暴力破解四位或者六位的純數(shù)字例子。
漏洞描述
在微信官方的首頁(yè)上發(fā)現(xiàn)了找回密碼功能。
點(diǎn)擊鏈接之后看到這個(gè)功能.來(lái)了興趣。
在這個(gè)頁(yè)面輸入一個(gè)已經(jīng)注冊(cè)了微信的手機(jī)號(hào)。
看到了下面的提示信息
點(diǎn)擊“我已收到驗(yàn)證碼”按鈕,就跳轉(zhuǎn)到一個(gè)修改密碼的頁(yè)面,如下
在這一步抓包.得到如下包文
code 區(qū)域check=false&phone=18666666666&t=w_password_phone&isemail=0&value=18666666666&method=reset&country=A86&getmethod=web&password=zzzzzz&password2=zzzzzz&verifycode=1234
將包文中的verifycode進(jìn)行重復(fù)提交后,發(fā)現(xiàn)會(huì)提示下圖的信息
這樣的話(huà).就要想辦法去突破.
經(jīng)過(guò)多次嘗試后,發(fā)現(xiàn)如果在phone=18666666666的號(hào)碼后面,添加不為數(shù)字的字符時(shí),可以繞過(guò)這個(gè)重復(fù)提交的限制.于是我推理出了一個(gè)驗(yàn)證邏輯。
如果phone=18666666666的嘗試次數(shù)大于閥值,則提示請(qǐng)求過(guò)于頻繁
但在這一步之前沒(méi)有對(duì)phone進(jìn)行提純.所以可以將特殊字符帶入
但在下一步的時(shí)候進(jìn)行了提純.只取了phone中的數(shù)字部分.
然后在取出此號(hào)碼的verifycode進(jìn)行比對(duì).
比對(duì)成功則修改密碼
修改密碼成功.
這個(gè)地方的薄弱環(huán)節(jié)在于微信重置密碼的驗(yàn)證碼為4-5位純數(shù)字.
且數(shù)字范圍在1000-20000之間
也就是說(shuō).我只要嘗試19000次.我用50個(gè)線(xiàn)程發(fā)包.3分鐘即可成功修改一個(gè)密碼.
#### 原因:
雖然設(shè)置了請(qǐng)求閥值,但被猜解除了驗(yàn)證方式,并且找到了繞過(guò)方式,驗(yàn)證碼為4-5位的數(shù)字容易爆破
二、返回憑證之前看到天天網(wǎng)有爆出漏洞的案例,這次我看看還有沒(méi)有,果然發(fā)現(xiàn)了一枚。
和之前的漏洞一樣,打開(kāi)了找回密碼頁(yè)面,按照了正常流程來(lái)找回密碼,填好郵箱和驗(yàn)證碼,點(diǎn)擊下一步,然后抓包。
在抓取到的數(shù)據(jù)包中發(fā)現(xiàn),返回?cái)?shù)據(jù)中會(huì)返回一個(gè)加密字符串,這讓我有點(diǎn)好奇心起來(lái)了,我把它記錄下來(lái)。
還是按照了正常流程,打開(kāi)了我的郵箱,看到了一封找回密碼的郵件,我點(diǎn)擊了里面的鏈接地址,進(jìn)入如下的設(shè)置新密碼的頁(yè)面。
這個(gè)時(shí)候,我把之前記錄到的可疑字符串和URL做了一下對(duì)比,發(fā)現(xiàn)之前的字符串就是當(dāng)前頁(yè)面URL最后的部分,竟然是同一個(gè)!那我推測(cè),天天網(wǎng)的這個(gè)找回密碼設(shè)計(jì)是有問(wèn)題的,那個(gè)郵箱驗(yàn)證碼就可以直接繞過(guò)了。
設(shè)置新密碼的的URL為 http://login.tiantian.com/new...加密字符串/
為了要驗(yàn)證我的猜測(cè),我在這里用天天網(wǎng)客服 service@tiantian.com 做了一次測(cè)試。還是用上面的正常找回密碼流程,然后抓包獲取到加密字符串,然后組合到上面的設(shè)置新密碼的url中,就成功重置了這個(gè)客服賬號(hào)的密碼了。給大家截個(gè)圖看看。
找回密碼問(wèn)題的答案在頁(yè)面源碼中可以看到。
三、郵箱弱token描述
360是一個(gè)大廠,又是做安全業(yè)務(wù)的,很好奇它的網(wǎng)站安全性怎么樣?
好奇的我做了一個(gè)測(cè)試,我首先按照正常流程走一次找回密碼,打開(kāi)郵箱,查看給我來(lái)的郵件內(nèi)容:
360個(gè)人中心找回密碼(重要)!
重設(shè)密碼地址:
http://i.#/findpwd/setpw...,
馬上重設(shè)密碼!如果您沒(méi)有進(jìn)行過(guò)找回密碼的操作,請(qǐng)不要點(diǎn)擊上述鏈接,并刪除此郵件。
參數(shù)vc可以看出是一串32位字符的md5,通過(guò)cmd5.com網(wǎng)站解密后發(fā)現(xiàn)是個(gè)數(shù)字,類(lèi)似1339744000,第一反應(yīng)猜測(cè)是個(gè)用戶(hù)id。我腦袋里馬上出來(lái)了一個(gè)思路,遍歷id并且修改u變量是不是可以修改任意用戶(hù)密碼呢?試了一下不可以。 再仔細(xì)看了看這個(gè)數(shù)字,感覺(jué)比一般的用戶(hù)ID大,反復(fù)看了幾次,突然發(fā)現(xiàn)怎么像是個(gè)時(shí)間戳?
通過(guò)時(shí)間戳格式化發(fā)現(xiàn),還真是一個(gè)時(shí)間戳! 再次大膽的猜測(cè)了一下這里的流程,用戶(hù)取回密碼時(shí),會(huì)產(chǎn)生一個(gè)精確的時(shí)間戳,和帳號(hào)綁定,記錄在某個(gè)密碼重置庫(kù)內(nèi)。
修改這個(gè)用戶(hù)密碼必須要知道綁定的時(shí)間戳才可以,從表面的邏輯來(lái)看,好像沒(méi)問(wèn)題。不過(guò)開(kāi)發(fā)同學(xué)忽略了一個(gè)細(xì)節(jié),什么細(xì)節(jié)呢?如果這個(gè)時(shí)間戳是新生成的,我在一定得時(shí)間段內(nèi)進(jìn)行暴力猜解,很快就可以獲取到這個(gè)有效得鏈接。
寫(xiě)了個(gè)利用工具測(cè)試一下。
打開(kāi)之后果然驗(yàn)證了我的猜測(cè)。
修改密碼成功后,后跳到了登陸頁(yè)面,用剛剛修改得密碼登陸后看到了個(gè)人資料頁(yè)面。
使用了特定值的加密作為token,被猜解到使用了時(shí)間戳的MD5值。在實(shí)際過(guò)程中我們也可以嘗試用戶(hù)名,手機(jī),郵箱,等等的不同加密方式。
四、用戶(hù)憑證有效性短信驗(yàn)證碼例子。
描述
oppo在wooyun上暴露了好幾次,這次我也來(lái)試試。
先逛逛網(wǎng)站,發(fā)現(xiàn)主站的帳號(hào)跟nearme開(kāi)發(fā)者社區(qū)的帳號(hào)是通用的,所以如果只要重置了nearme社區(qū)帳號(hào)主站帳號(hào)也被修改。問(wèn)題出現(xiàn)在www.nearme.com.cn
依然按照正常找回密碼流程來(lái),首先我用自己的手機(jī)號(hào)186**8188找回密碼,點(diǎn)擊獲取一下驗(yàn)證碼,于是這時(shí)我手機(jī)收到了一個(gè)4位的數(shù)字驗(yàn)證碼。
然后到這步暫停,我不去使用驗(yàn)證碼重置。
接下來(lái)我要做安全測(cè)試了,用18688888888這個(gè)帳號(hào)進(jìn)行測(cè)試。
我們點(diǎn)擊登錄處的忘記密碼,輸入要找回的帳號(hào)18688888888。
選擇通過(guò)手機(jī)號(hào)碼找回密碼。
關(guān)鍵的地方在3.身份認(rèn)證這一步,我把18688888888替換成我自己的手機(jī)號(hào)186**8188
輸入剛才自己手機(jī)獲取到的驗(yàn)證碼:0198,直接確認(rèn)下一步。
提交成功,輸入新密碼:oppoceshi1。
確認(rèn)一下,重置成功。
那么我們接下來(lái)就是要用18688888888:oppoceshi1。
登錄一下,測(cè)試是否成功以我自己的手機(jī)號(hào)跟驗(yàn)證碼修改了此賬戶(hù)的密碼。
登陸成功
也就是說(shuō)我已經(jīng)成功用自己的手機(jī)號(hào)186**8188重置了18688888888的賬戶(hù)密碼。
只驗(yàn)證了驗(yàn)證碼的有效性,卻沒(méi)有對(duì)驗(yàn)證碼和手機(jī)號(hào)碼做綁定驗(yàn)證。
五、重新綁定手機(jī)綁定例子。
描述
這次我們看一個(gè)126郵箱的找回密碼漏洞,這個(gè)還真和上面的方式有點(diǎn)不一樣。
我先來(lái)注冊(cè)一個(gè)126郵箱測(cè)試帳號(hào)。
點(diǎn)擊“立即注冊(cè)” ,后會(huì)跳轉(zhuǎn)到一個(gè)手機(jī)綁定得安全提示頁(yè)面來(lái)。
注意看下這個(gè)鏈接的參數(shù),有個(gè)uid,把uid修改成想要黑掉的網(wǎng)易郵箱帳戶(hù)的uid。
填入一個(gè)自己的手機(jī)號(hào)碼,再把驗(yàn)證碼發(fā)回來(lái)。
那我們點(diǎn)擊確定并進(jìn)入郵箱,這個(gè)時(shí)候這個(gè)目標(biāo)網(wǎng)易郵箱已經(jīng)被越權(quán)綁定了密保手機(jī)。
現(xiàn)在我們要改密碼就比較簡(jiǎn)單了,走正常的密碼取回流程,發(fā)現(xiàn)這個(gè)郵箱多了一個(gè)通過(guò)手機(jī)的取回方式,這個(gè)手機(jī)尾號(hào)就是我剛剛綁定的手機(jī)!
密碼重置成功??!
存在權(quán)限判斷不當(dāng),越權(quán)操作的接口是:
http://security.mail.126.com/...
注冊(cè)過(guò)程的綁定手機(jī)頁(yè)面用過(guò)參數(shù)修改,將任意賬號(hào)綁定至可控手機(jī),再來(lái)通過(guò)密碼找回流程找回
最后通過(guò)這篇文章相信你對(duì)于密碼找回已經(jīng)有一定的了解,我們發(fā)現(xiàn)上面的密碼找回思路基本都是通過(guò)邏輯推理加技術(shù)驗(yàn)證來(lái)實(shí)現(xiàn)。這種類(lèi)似的方法還有很多,希望這篇文章對(duì)大家的思維能有一點(diǎn)點(diǎn)幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/11268.html
摘要:對(duì)于企業(yè)而言,最大的作用就是提升效率,基本上適用于所有做研發(fā)的企業(yè)。滴滴這些年的業(yè)務(wù)飛速增長(zhǎng),成為國(guó)內(nèi)第二個(gè)日訂單量超過(guò)千萬(wàn)的公司,隨之而來(lái)的是系統(tǒng)屢次出現(xiàn)線(xiàn)上故障,穩(wěn)定性建設(shè)成為滴滴支撐業(yè)務(wù)發(fā)展的重要保障。 最近幾年,DevOps 的發(fā)展非常迅速,如今在開(kāi)發(fā)運(yùn)維圈子里如果不懂DevOps 都不敢說(shuō)自己是混這個(gè)圈子的人。國(guó)外有人專(zhuān)門(mén)針對(duì) DevOps 做了一項(xiàng)調(diào)查,結(jié)果顯示在2016 ...
摘要:的特點(diǎn)主要有如下幾個(gè)唯一性時(shí)效性不可預(yù)測(cè)很多大型業(yè)務(wù)中,比如說(shuō)的找回密碼流程中,對(duì)于發(fā)給用戶(hù)的找回密碼鏈接郵件需要同時(shí)提交用戶(hù)輸入的驗(yàn)證碼和也就是該校驗(yàn)碼對(duì)應(yīng)的。 隨著互聯(lián)網(wǎng)的高速發(fā)展,WEB2.0網(wǎng)站的業(yè)務(wù)越來(lái)越龐大,一些token驗(yàn)證在許多場(chǎng)景下都必不可少,比如說(shuō)交易訂單的防止多次提交,重要的敏感操作防止CSRF(跨站請(qǐng)求偽造)攻擊,以及短信驗(yàn)證碼,找回密碼驗(yàn)證碼,注冊(cè)登錄圖形的生...
摘要:的特點(diǎn)主要有如下幾個(gè)唯一性時(shí)效性不可預(yù)測(cè)很多大型業(yè)務(wù)中,比如說(shuō)的找回密碼流程中,對(duì)于發(fā)給用戶(hù)的找回密碼鏈接郵件需要同時(shí)提交用戶(hù)輸入的驗(yàn)證碼和也就是該校驗(yàn)碼對(duì)應(yīng)的。 隨著互聯(lián)網(wǎng)的高速發(fā)展,WEB2.0網(wǎng)站的業(yè)務(wù)越來(lái)越龐大,一些token驗(yàn)證在許多場(chǎng)景下都必不可少,比如說(shuō)交易訂單的防止多次提交,重要的敏感操作防止CSRF(跨站請(qǐng)求偽造)攻擊,以及短信驗(yàn)證碼,找回密碼驗(yàn)證碼,注冊(cè)登錄圖形的生...
摘要:事實(shí)上,這個(gè)工具可以解密的密碼不在的安全漏洞。建議每到一個(gè)公司,自己還是做個(gè)記事本出來(lái),專(zhuān)門(mén)用來(lái)記本公司的各種密碼和注意事項(xiàng)等等,避免到時(shí)候需要的時(shí)候找不到,耽誤更多的時(shí)間。 當(dāng)你在換項(xiàng)目組或者換電腦的時(shí)候,忘記了svn密碼(找回前提是你的原來(lái)的電腦上的eclipse或者idea或者svn客戶(hù)端已經(jīng)保存了密碼,只是你不知道密碼 )忘記密碼了,可以直接找管理員重置密碼,但是可以的話(huà),你就...
摘要:新電腦的用戶(hù)名和密碼是什么呢電腦開(kāi)機(jī)要填寫(xiě)的用戶(hù)名和密碼是指電腦登陸的帳號(hào)和密碼,如果是新電腦,沒(méi)有設(shè)置過(guò),那么可以輸入用戶(hù)名,密碼為空,即可登陸。,在彈出用戶(hù)帳戶(hù)窗口中,取消勾選的要使用本機(jī),用戶(hù)必須輸入用戶(hù)名和密碼選項(xiàng),單擊確定。怎樣找回電腦的用戶(hù)名和密碼?查看電腦的主機(jī)用戶(hù)名和密碼的具體操作步驟如下: 1、首先我們打開(kāi)電腦桌面,點(diǎn)擊左下角開(kāi)始圖標(biāo),打開(kāi)后找到控制面板進(jìn)入,使用其進(jìn)行賬戶(hù)...
閱讀 2958·2021-11-24 09:39
閱讀 3261·2021-11-19 10:00
閱讀 1606·2021-10-27 14:17
閱讀 1881·2021-10-14 09:43
閱讀 1045·2021-09-03 10:30
閱讀 3480·2019-08-30 15:54
閱讀 2812·2019-08-30 13:05
閱讀 2100·2019-08-30 11:02