最近一直在研究AppScan,以前用的時候感覺不是很上手,但最近的研究發現AppScan掃描策略非常紮實,很多細節把控的很好
尤其是AppScan在很早之前就有iast插樁掃描的能力以及利用瀏覽器內核進行動態爬行能力
我想也是因爲如此,國內很多單位都以AppScan的掃描策略作爲安全標準。
今天來分享一個AppScan很早之前就有的一個功能:使用模板定義自定義掃描用例,與xray的poc編寫模式一模一樣
如下圖所示,當我們發送一個變形的json串,響應包中就會存在一個fastjson-version標記
那我們以此爲今天的思路,爲AppScan增加一個探測fastjson的測試
1)先如下圖點擊
2)點擊右邊的 + 號
3)因爲掃描完後會有信息打印在AppScan裏,所以參數都要填寫完整
4)我們需要構造惡意請求,可以直接選擇修改完整請求
5)增加新的條件
5.1)首先點擊添加
5.2)添加條件
我的思路是,當請求的body體中能匹配到下面這個校驗json的正則表達式時,該測試用例生效
[\[|\{](\s|.*|\w)*[\]|\}]
當然了,部分系統的url中包含的json,我們可以添加一個條件並讓兩個條件保持“或者”的關係
6)滿足5)中的條件後,我們就可以設定重新發送一個探測請求如下圖
7)只要響應包中出現關鍵詞fastjson-version就可以判斷存在fastjson
備註:我們還能加強判斷
因爲1.2.70之前都存在安全漏洞,所以我們可以使用以下正則判斷是否存在舊版本
fastjson-version\s1.2.[4|5|6]
如圖所示,我們可以這樣編寫,一旦發現舊版本就提示安全漏洞。
寫到這裏的時候遠方李主任關心我的健康,謝謝李主任的關懷:-)
8)最後兩個顯示信息就放在一起了
完成添加。
實驗開始:
1)我們取消掉所有內置的安全測試,用這種方式看看新增的測驗用例是否執行
2)確保有一個json請求包被AppScan抓取到了
3)開始測試
4)結果
4.1)成功顯示了fastjson的探測結果
4.2)通過下圖可以看出我們的探測fastjson的請求成功發送
備註:複雜場景下建議用英文模式編寫,中文翻譯的讓人摸不着頭腦
總結:
早幾年時動態爬蟲技術先進的時候AppScan就獨佔鰲頭
而現在的iast插樁技術、xray採用的模板編寫poc的技術、現在很多掃描器還沒有的越權測試技術,AppScan也都早早的集成了
另外在很多細節、參數、上下文邏輯AppScan都很嚴密,所以越學習AppScan,就越心生敬畏。
前人有訓:帶着敬畏之心行事,看着平平無奇的AppScan的老版本居然就集成了這麼多先進的設計,深感自己目光短淺。
禁止轉載,謝謝。