工具:Burp+Fiddler+windows版本微信 注: 你也可以直接用burp+windows版微信,進(jìn)行抓包,如果出現(xiàn)網(wǎng)絡(luò)錯誤,直接用Fiddler抓包然后發(fā)給burp進(jìn)行測試。 關(guān)于Fidder如何抓取HTTPS數(shù)據(jù)包,如下: 這里我是直接下載的漢化版,本人英語不太好,打開Fiddler,選擇工具,然后點擊選項,然后在HTTPS處,勾選上捕獲HTTPS鏈接,解密HTTPS流量,忽略服務(wù)器證書錯誤。 選擇最右側(cè)的操作按鈕,選擇將根證書導(dǎo)出到桌面。
然后將證書導(dǎo)入到瀏覽器。
手機(jī)端的話,無線網(wǎng)絡(luò)直接設(shè)置上Fiddler的代理地址和端口,這里我設(shè)置的9999端口,然后訪問x.x.x.x:9999端口,下載證書 安裝即可。
至此 Fiddler可以正常抓取http和https數(shù)據(jù)包。關(guān)于Fiddler聯(lián)動burp 抓包,配置如下圖:
微信端設(shè)置代理地址
抓包測試一下,沒問題,此處抓的抽獎助手的數(shù)據(jù)包
小程序我是測過微信小程序和釘釘里面的業(yè)務(wù)模塊,測試微信小程序,直接忽略掉登陸相關(guān)的漏洞,注重點還是在邏輯漏洞上。這里我就用一個實例來講解,因為金融是比較敏感的行業(yè),所以一些硬核漏洞,他們也會去修復(fù),表哥們自行斟酌。1.流程驗證過漏洞(小程序里面這個漏洞特別多,我都是習(xí)慣性的先測試這個漏洞,大家可以平時在挖洞過程中,多收集一些狀態(tài)返回碼,以便在測試時使用)(1)在驗證下一步的時候,抓包,查看返回包里面的響應(yīng)碼,嘗試修改響應(yīng)碼,進(jìn)行繞過1(2)輸入驗證碼進(jìn)入下一步時,先輸入正確的驗證碼,查看正確的返回包,然后隨便輸入一個驗證碼,修改返回包中的狀態(tài)碼為正確通過時的狀態(tài),查看是否能繞過 2.任意文件上傳漏洞(小程序中任何可以上傳的地方,一般小程序中對文件上傳功能限制較少,很容易繞過,我在挖洞的過程好幾次都是通過文件上傳進(jìn)行g(shù)etshell)(1)任意上傳圖片的地方,通過burp修改文件后綴,繞過(2)上傳身份證的地方,如果是攝像頭拍照那種,可以結(jié)合流程驗證繞過漏洞,通過修改返回包中的狀態(tài)進(jìn)行繞過 3.Cors跨域訪問漏洞(這個漏洞感覺沒啥說的,其實就是看數(shù)據(jù)包的請求中是否含有origin字段,然后修改請求包中的origin字段的值,然后去看返回包查看Access-Control-Allow-Origin是否改變。(1)查看請求包中的是否含有origin字段,修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改變挖掘方法:獲取信息的地方,通過返回包內(nèi)容來判斷是否獲取其他用戶的信息(1)增刪改查處,多注意數(shù)據(jù)包中的字段,挖掘越權(quán)漏洞,一定要細(xì)心細(xì)心再細(xì)心(2)可以通過遍歷字段的方法,來測試是否越權(quán)(1)把POST請求改成OPTIONS,然后查看返回包中的Access-Control-Allow-Methods值 此處的測試目標(biāo)是銀行的一個小程序,小程序功能點就4個,客戶信息維護(hù)、密碼修改/重置、賬戶激活、簽約類。這里我們針對這幾個功能點,首先想到的就是 能不能繞過他這個驗證流程呢(流程驗證繞過漏洞)? 我們在身份信息驗證處嘗試修改返回包狀態(tài)碼,從而繞過驗證流程。正常返回包中,因為輸入錯誤信息,所以返回'100';
將100修改為“200” 放包,繞過此流程,進(jìn)入到下一環(huán)節(jié)
當(dāng)然,其他地方也可以通過修改返回包的狀態(tài)碼,進(jìn)而繞過,其他地方的圖片就不貼了,因為挖掘過程是一樣的。
然后就是cors漏洞,這個沒啥說的,通過修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改變,此處是存在這個漏洞
針對小程序的滲透測試,多注意邏輯漏洞和上傳漏洞,因為一般對這種漏洞的過濾較少,SQL注入這種倒是沒遇到過,大家平時多收集一些響應(yīng)碼這種,在測試過程可以發(fā)揮到奇效,針對越權(quán)漏洞的話,多注意數(shù)據(jù)包的參數(shù),發(fā)現(xiàn)類似id,uid,UserName這種字段,可以直接嘗試遍歷參數(shù),關(guān)鍵是要細(xì)心。
原文地址https://www./article/648
|