JS未授權訪問漏洞
前言
參加了最近一期的聽火沙龍,各位師傅分享了很多有意思的挖洞姿勢和議題,根據會后梳理和完善,現以分享交流未授權的一些拙見,各位大師父們如果有更好的意見建議,歡迎評論交流。
第一次訪問站點,需要注意多收集接口(多做信息收集),把站點能點的按鈕先觸發一邊,可配合利用谷歌插件FindSomething或BurpJSLinkFinder插件做一些被動接口收集,我習慣用BurpJSLinkFinder。

如果系統有登錄,先退出登錄在進行接口遍歷,如果沒有登錄邏輯,可收集完直接進行接口api的遍歷訪問即可,跑完再對響應進行分析。
對一些主要針對查詢、修改、文件類操作類接口進行重點分析(性價比高),分析響應,如果響應出現301/302/缺少參數/參數錯誤,可以進行前端JS的API的數據參數名獲取。

參數值一般從歷史響應搜參數名從body、header里找參數值,有些會響應body進行了加密,這種直接從前端本地存儲或會話存儲中找值即可。
這是因為前端要解密調用,如果都未找到可進行fuzz(fuzz根據網站開發編碼習慣進行針對性添加值可提高fuzz成功率)。


找到參數后就可以進行構造重放測試了,下面是成功構造出的src案例,可以未授權訪問系統歷史用戶過期密碼數據。

使用bp插件BIE提取歷史賬號、密碼字段結合系統登陸未進行防重放防護,可進行進一步利用。
<1>提取Response賬號

<2>提取Response密碼

<3>解密MD5密文

拿到賬號和過期密碼就可以進行暴力破解了,最后跑出來300多賬號,各個權限都有,如果現有的密碼未爆破出高權限密碼,可針對歷史高權限賬號的密碼規則進行新口令生成,做針對性爆破,漏洞的利用也是危害的提升。

總結
此處資產因為是棄用的,遍歷賬號密碼到此已經達到廠商最高危害,沒有進行后續拿系統權限等后滲透操作(需要廠商授權),系統設計之初未考慮到安全防護,后續可進行登錄防暴力破解,權限控制、增加密碼復雜度和歷史密碼不能一致等方面進行防護,如有不足請各位大師傅多多指正。
工具推薦
1.接口收集工具:
https://github.com/portswigger/js-link-finder
2.BP提取數據工具BIE:
https://github.com/theLSA/burp-info-extractor/releases/tag/v1.1.1
3.Flywuhu師傅在zone分享的弱口令腳本工具:
https://github.com/fcre1938/PwdBUD