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