文章來源i春秋
本文適合新手參閱,大牛笑笑就好了,嘿嘿
末尾有彩蛋!!!!!!!!!!!!!!!!!
本人參加了本次"i春秋部落守衛者聯盟"活動,由於經驗不足,首次挖SRC,排名不是那么理想,終於知道了自己的白帽子挖洞的道路還漫長的很,老司機豈非一日一年能煉成的。
本文多處引用了 YSRC 的 公(qi)開(yin)漏(ji)洞(qiao)。
挖SRC思路一定要廣!!!!
漏洞不會僅限於SQL注入、命令執行、文件上傳、XSS,更多的可能是邏輯漏洞、信息泄露、弱口令、CSRF。
本文着重分析邏輯漏洞,其他的表哥可能會分享更多的思路,敬請期待。
當然Web程序也不僅限於網站程序,漏洞更多的可能是微信公眾號端、APP應用程序等等
下面總結一下自己的SRC挖洞思路(邏輯漏洞)。
SRC常見的邏輯漏洞類型
個人認為邏輯是SRC出現最頻繁的也是最容易挖到的漏洞,分類比較多,本文僅分析各種邏輯漏洞
0x01 0元支付訂單
a、使用抓包軟件(burpsuite、Fiddler...)抓包,通過分析向服務器傳輸的數據包,修改支付金額參數來達到欺騙服務器的效果,當然這只是最簡單的思路,稍有安全意識此種漏洞幾乎不會發生。
b、案例分析:同程機票支付漏洞,漏洞實例傳送門:http://sec.ly.com/bugdetail?id=040057126240073192211042027138252087080136084116
此漏洞僅僅是在支付之前抓包,僅通過修改bxprice 為負數,完成了2元巴厘島旅游,再次膜拜大佬,2000RMB+巴厘島豪華旅游就此到手。
0x02 越權查看信息
何謂越權?越過自己能夠行使的權利來行使其他權利,通俗來講,看了自己不該看到的東西,做了自己不能做的事。
a、GET請求可直接修改URL參數,POST請求只能抓包,通過修改限定訂單號的參數值,實現任意訂單泄漏、開房記錄泄漏,當然不一定是訂單存在此漏洞,個人信息、賬戶詳情等各種私密信息都可能存在此漏洞。
b、案例分析:酒店催房處的一處越權,漏洞實例傳送門:http://sec.ly.com/BugDetail?id=252000086183010135060073226184197160190134107123
洞主不愧為老司機,用小號批量請求大號能做的請求,如果請求成功,那不就是越權嗎?好像又GET到了什么
0x03 越權添加或者刪除信息
a、點擊添加信息,抓包后更換賬號,請求抓取的包數據,若能成功,則存在漏洞;刪除信息同樣可能存在越權。
b、案例分析:同程機票越權添加卡包,漏洞實例傳送門:http://sec.ly.com/BugDetail?id=167225056174242138247150224042057206254063148243
添加某項信息->抓取數據包->切換用戶->復現數據包->成功操作->漏洞存在
0x04 用戶密碼重置
a、密碼重置的姿勢五花八門,不同的程序員可能做出的漏洞實例都不盡相同,說說我曾經遇到過的一些姿勢吧:
(1)修改密碼的驗證碼返回到Web前端進行驗證,也就是點擊獲取驗證碼后,驗證碼返回到網頁的某個hidden屬性的標簽中.
(2)請求獲取修改某賬戶密碼時,修改發送驗證碼的手機號為自己的手機號,得到驗證碼,成功修改指定賬戶密碼.
(3)修改密碼處的驗證碼的驗證次數或者驗證碼有效時間未做限制,導致可爆破驗證碼,當然,6位驗證碼比較花時間,4位秒破.
(4)通過修改URL中的用戶名參數,從而達到直接請求最終修改指定賬戶的密碼.
(5)抓取關鍵步驟中的POST數據包,通過修改POST數據中的UserName參數實現任意密碼重置.
(6)郵箱驗證時,重置賬戶的URL重置密碼規則有規律可循,導致重置任意用戶密碼.
......如有遺漏的厲害(yin dang)姿勢,請回復分享!!!!
b、漏洞分析:旅倉平台任意密碼重置,漏洞實例傳送門:http://sec.ly.com/BugDetail?id=079064078087124103206019249045164081132199016199
此漏洞中重置密碼共分為4步,洞主通過抓取第四步的POST數據包,從而實現只需要修改phone參數即可實現任意密碼重置,厲害。
0x05 無驗證碼的撞庫危害
何謂撞庫?可以使用其他泄露數據庫的賬戶密碼來登錄另一個網站。而我個人的理解是:用戶登錄接口未做限制,導致可無限爆破用戶名及密碼
a、無可置否,無驗證碼的登錄界面是每個人最願意看到的,這樣就可以展開開心的爆破了,就算無法爆破出正確的帳號密碼,但是只要存在撞庫危害,SRC一般會給予通過,撞庫的危害程度取決於業務是主要業務還是邊緣業務
b、漏洞分析:同程某站點無驗證碼撞庫危害,漏洞實例傳送門:http://sec.ly.com/bugdetail?id=135117061114038121240092037083081014094068207009
此漏洞為YSRC剛開啟時的漏洞,所以存在無驗證碼的登錄,存在撞庫危害
0x06 驗證碼失效的撞庫危害
a、登錄界面存在驗證碼,但是驗證碼只會在刷新當前URL時才會刷新,這會導致提交POST數據包時驗證碼的失效,從而導致繞過驗證碼的爆破
b、漏洞分析:同程某站點驗證碼無效導致可爆破,漏洞實例傳送門:http://sec.ly.com/bugdetail?id=112195171227053035139145119019247147086179238203
當我們嘗試使用burpsuite爆破時,設置好爆破元素開始爆破時,如果驗證碼失效,每一次爆破的Response則會提示用戶名或者密碼錯誤,而不是驗證碼錯誤,可以嘗試檢測是否存在此種撞庫危害。
0x07 短信接口未作限制
a、短信接口未做限制可導致短信轟炸,郵箱垃圾郵件轟炸,語音電話轟炸,危害系數較低。
b、漏洞分析:購物卡兌換處短信語音轟炸,漏洞實例傳送門:http://sec.ly.com/bugdetail?id=041074113247105006058199239200236127208085195183
此漏洞可手工檢測,也可以抓包導入到Repeater復現數據包檢測,常用的接口限口是:phone number的發送短信次數
0x08 枚舉注冊用戶
a、當我們在登錄處輸入賬戶名時,點擊網頁的任意位置,網站會自動發送請求驗證賬戶名是否正確的數據包,此時即可截獲數據包進行用戶名的枚舉。
b、漏洞分析:同程某站找回密碼用戶枚舉,漏洞實例傳送門:http://sec.ly.com/bugdetail?id=087197063184147205102065133186047083096133108230
找回密碼處的驗證碼失效,導致可爆破用戶名來枚舉已注冊用戶