6.30在OWASP的分享,關(guān)于業(yè)務(wù)安全的漏洞檢測模型。進(jìn)一步的延伸科普。
在沒(méi)有驗證碼限制或者一次驗證碼可以多次使用的地方,使用已知用戶(hù)對密碼進(jìn)行暴力破解或者用一個(gè)通用密碼對用戶(hù)進(jìn)行暴力破解。 簡(jiǎn)單的驗證碼爆破。URL: http://zone.wooyun.org/content/20839
一些工具及腳本
Burpsuite
htpwdScan 撞庫爆破必備 URL: https://github.com/lijiejie/htpwdScan
hydra 源碼安裝xhydra支持更多的協(xié)議去爆破 (可破WEB,其他協(xié)議不屬于業(yè)務(wù)安全的范疇)
會(huì )話(huà)固定攻擊:利用服務(wù)器的session不變機制,借他人之手獲得認證和授權,冒充他人。案例:WooYun: 新浪廣東美食后臺驗證邏輯漏洞,直接登錄后臺,566764名用戶(hù)資料暴露!
Cookie仿冒:修改cookie中的某個(gè)參數可以登錄其他用戶(hù)。 案例:益云廣告平臺任意賬號登錄WooYun: 益云廣告平臺任意賬號登錄
未使用https,是功能測試點(diǎn),不好利用。
前端加密,用密文去后臺校驗,并利用smart decode可解
a) 抓包修改手機號碼參數為其他號碼嘗試,例如在辦理查詢(xún)頁(yè)面,輸入自己的號碼然后抓包,修改手機號碼參數為其他人號碼,查看是否能查詢(xún)其他人的業(yè)務(wù)。
a) 抓包修改用戶(hù)或者郵箱參數為其他用戶(hù)或者郵箱
b) 案例: WooYun: 綠盟RSAS安全系統全版本通殺權限管理員繞過(guò)漏洞,包括最新 RSAS V5.0.13.2
a) 查看自己的訂單id,然后修改id(加減一)查看是否能查看其它訂單信息。
b) 案例: WooYun: 廣之旅旅行社任意訪(fǎng)問(wèn)用戶(hù)訂單
a) 例如積分兌換處,100個(gè)積分只能換商品編號為001,1000個(gè)積分只能換商品編號005,在100積分換商品的時(shí)候抓包把換商品的編號修改為005,用低積分換區高積分商品。
b) 案例:聯(lián)想某積分商城支付漏洞再繞過(guò) WooYun: 聯(lián)想某積分商城支付漏洞再繞過(guò)
a) 抓包查看自己的用戶(hù)id,然后修改id(加減1)查看是否能查看其它用戶(hù)id信息。
b) 案例: WooYun: 拉勾網(wǎng)百萬(wàn)簡(jiǎn)歷泄漏風(fēng)險(包括手機、郵件、應聘職位等信息、還可冒充企業(yè)身份篩選簡(jiǎn)歷、發(fā)面試通知等)
a) 抓包修改金額等字段,例如在支付頁(yè)面抓取請求中商品的金額字段,修改成任意數額的金額并提交,查看能否以修改后的金額數據完成業(yè)務(wù)流程。 b) 案例: WooYun: 12308訂單支付時(shí)的總價(jià)未驗證漏洞(支付邏輯漏洞)
a) 抓包修改商品數量等字段,將請求中的商品數量修改成任意數額,如負數并提交,查看能否以修改后的數量完成業(yè)務(wù)流程。 b) 案例: WooYun: 蔚藍團支付邏輯漏洞(可負數支付)
a) 很多商品限制用戶(hù)購買(mǎi)數量時(shí),服務(wù)器僅在頁(yè)面通過(guò)js腳本限制,未在服務(wù)器端校驗用戶(hù)提交的數量,通過(guò)抓包修改商品最大數限制,將請求中的商品數量改為大于最大數限制的值,查看能否以修改后的數量完成業(yè)務(wù)流程。
a) 部分應用程序通過(guò)Javascript處理用戶(hù)提交的請求,通過(guò)修改Javascript腳本,測試修改后的數據是否影響到用戶(hù)。
1 注入測試 請參考http://wiki.wooyun.org/web:sql
2 XSS測試 請參考http://wiki.wooyun.org/web:xss
3 Fuzz
a) 功能測試用的多一些,有可能一個(gè)超長(cháng)特殊字符串導致系統拒絕服務(wù)或者功能缺失。(當然fuzz不單單這點(diǎn)用途。)
b) 不太符合的案例,但思路可借鑒: WooYun: 建站之星模糊測試實(shí)戰之任意文件上傳漏洞
c) 可能會(huì )用的工具 —— spike
4 其他用用戶(hù)輸入交互的應用漏洞
http://drops.wooyun.org/web/5048
a) 密碼找回邏輯測試一般流程
i. 首先嘗試正常密碼找回流程,選擇不同找回方式,記錄所有數據包
ii. 分析數據包,找到敏感部分
iii. 分析后臺找回機制所采用的驗證手段
iv. 修改數據包驗證推測
b) 腦圖 (詳情請參考BMa的《密碼找回邏輯漏洞總結》)
驗證碼不單單在登錄、找密碼應用,提交敏感數據的地方也有類(lèi)似應用,故單獨分類(lèi),并進(jìn)一步詳情說(shuō)明。
a) 使用burp對特定的驗證碼進(jìn)行暴力破解
b) 案例: WooYun: 盟友88電商平臺任意用戶(hù)注冊與任意用戶(hù)密碼重置漏洞打包
a) 抓取攜帶驗證碼的數據包不斷重復提交,例如:在投訴建議處輸入要投訴的內容信息,及驗證碼參數,此時(shí)抓包重復提交數據包,查看歷史投訴中是否存在重復提交的參數信息。
b) 案例:
a 當客戶(hù)端有需要和服務(wù)器進(jìn)行交互,發(fā)送驗證碼時(shí),即可使用firefox按F12調出firebug就可看到客戶(hù)端與服務(wù)器進(jìn)行交互的詳細信息
a) 當第一步向第二步跳轉時(shí),抓取數據包,對驗證碼進(jìn)行篡改清空測試,驗證該步驟驗證碼是否可以繞過(guò)。
b) 案例: WooYun: 中國電信某IDC機房信息安全管理系統設計缺陷致使系統淪陷
a) 短信驗證碼驗證程序邏輯存在缺陷,業(yè)務(wù)流程的第一步、第二部、第三步都是放在同一個(gè)頁(yè)面里,驗證第一步驗證碼是通過(guò)js來(lái)判斷的,可以修改驗證碼在沒(méi)有獲取驗證碼的情況下可以填寫(xiě)實(shí)名信息,并且提交成功。
a) 非授權訪(fǎng)問(wèn)是指用戶(hù)在沒(méi)有通過(guò)認證授權的情況下能夠直接訪(fǎng)問(wèn)需要通過(guò)認證才能訪(fǎng)問(wèn)到的頁(yè)面或文本信息??梢試L試在登錄某網(wǎng)站前臺或后臺之后,將相關(guān)的頁(yè)面鏈接復制于其他瀏覽器或其他電腦上進(jìn)行訪(fǎng)問(wèn),看是否能訪(fǎng)問(wèn)成功。
越權漏洞的成因主要是因為開(kāi)發(fā)人員在對數據進(jìn)行增、刪、改、查詢(xún)時(shí)對客戶(hù)端請求的數據過(guò)分相信而遺漏了權限的判定
a) 垂直越權(垂直越權是指使用權限低的用戶(hù)可以訪(fǎng)問(wèn)權限較高的用戶(hù))
b) 水平越權(水平越權是指相同權限的不同用戶(hù)可以互相訪(fǎng)問(wèn))(wooyun-2010-0100991 PHPEMS多處存在水平權限問(wèn)題)
c) 《我的越權之道》URL:http://drops.wooyun.org/tips/727
a) 部分網(wǎng)站邏輯可能是先A過(guò)程后B過(guò)程然后C過(guò)程最后D過(guò)程
b) 用戶(hù)控制著(zhù)他們給應用程序發(fā)送的每一個(gè)請求,因此能夠按照任何順序進(jìn)行訪(fǎng)問(wèn)。于是,用戶(hù)就從B直接進(jìn)入了D過(guò)程,就繞過(guò)了C。如果C是支付過(guò)程,那么用戶(hù)就繞過(guò)了支付過(guò)程而買(mǎi)到了一件商品。如果C是驗證過(guò)程,就會(huì )繞過(guò)驗證直接進(jìn)入網(wǎng)站程序了。
c) 案例:
WooYun: 萬(wàn)達某分站邏輯錯誤可繞過(guò)支付直接獲得取票密碼
http://wooyun.org/bugs/wooyun-2010-0108184
在短信、郵件調用業(yè)務(wù)或生成業(yè)務(wù)數據環(huán)節中(類(lèi):短信驗證碼,郵件驗證碼,訂單生成,評論提交等),對其業(yè)務(wù)環(huán)節進(jìn)行調用(重放)測試。如果業(yè)務(wù)經(jīng)過(guò)調用(重放)后被多次生成有效的業(yè)務(wù)或數據結果
a) 惡意注冊
b) 短信炸彈
在測試的過(guò)程中,我們發(fā)現眾多的金融交易平臺僅在前端通過(guò)JS校驗時(shí)間來(lái)控制短信發(fā)送按鈕,但后臺并未對發(fā)送做任何限制,導致可通過(guò)重放包的方式大量發(fā)送惡意短信
案例: WooYun: 一畝田交易網(wǎng)邏輯漏洞(木桶原理)
類(lèi)似案例如下:
點(diǎn)擊“獲取短信驗證碼”,并抓取數據包內容,如下圖。通過(guò)分析數據包,可以發(fā)現參數sendData/insrotxt的內容有客戶(hù)端控制,可以修改為攻擊者想要發(fā)送的內容
內容修改“恭喜你獲得由xx銀行所提供的iphone6一部,請登錄http://www.xxx.com領(lǐng)取,驗證碼為236694”并發(fā)送該數據包,手機可收到修改后的短信內容,如下圖:
大多有利用的案例發(fā)生在驗證碼以及業(yè)務(wù)數據的時(shí)效范圍上,在之前的總結也有人將12306的作為典型,故,單獨分類(lèi)。
12306網(wǎng)站的買(mǎi)票業(yè)務(wù)是每隔5s,票會(huì )刷新一次。但是這個(gè)時(shí)間確實(shí)在本地設置的間隔。于是,在控制臺就可以將這個(gè)時(shí)間的關(guān)聯(lián)變量重新設置成1s或者更小,這樣刷新的時(shí)間就會(huì )大幅度縮短(主要更改autoSearchTime本地參數)。 案例:
WooYun: 12306自動(dòng)刷票時(shí)間可更改漏洞
針對某些帶有時(shí)間限制的業(yè)務(wù),修改其時(shí)間限制范圍,例如在某項時(shí)間限制范圍內查詢(xún)的業(yè)務(wù),修改含有時(shí)間明文字段的請求并提交,查看能否繞過(guò)時(shí)間限制完成業(yè)務(wù)流程。例如通過(guò)更改查詢(xún)手機網(wǎng)廳的受理記錄的month范圍,可以突破默認只能查詢(xún)六個(gè)月的記錄。
@eversec
應用程序邏輯錯誤總結 http://drops.wooyun.org/papers/1418
密碼找回功能可能存在的問(wèn)題 http://drops.wooyun.org/papers/287
密碼找回功能可能存在的問(wèn)題(補充) http://drops.wooyun.org/web/3295
密碼找回邏輯漏洞總結 http://drops.wooyun.org/web/5048
支付漏洞的三種常見(jiàn)類(lèi)型——加固方案 http://zone.wooyun.org/content/878
在線(xiàn)支付邏輯漏洞總結 http://drops.wooyun.org/papers/345
金融行業(yè)平臺常見(jiàn)安全漏洞與防御 http://www.freebuf.com/news/special/61082.html
我的越權之道 http://drops.wooyun.org/tips/727
安全科普:看視頻理解Web應用安全漏洞TOP10(IBM內部視頻) http://www.freebuf.com/vuls/63426.html
【原文: 業(yè)務(wù)安全漏洞挖掘歸納總結 安全脈搏 Expl0r3r 整理發(fā)布 】
聯(lián)系客服