AppScan的自定義測試用例編寫

最近一直在研究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的老版本居然就集成了這麼多先進的設計,深感自己目光短淺。

 

禁止轉載,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章