如何使用JSPanda掃描客戶端原型污染漏洞
關(guān)于JSPanda
JSPanda是一款功能強大的客戶端原型污染漏洞掃描工具,該工具可以對從源代碼中收集的所有單詞進行污染操作,并將其顯示在屏幕上。因此,它可能會產(chǎn)生假陽性結(jié)果。這些輸出信息僅為研究人員提供額外的安全分析信息,其目的并非實現(xiàn)完全的自動化操作。
注意事項:當前版本的JSPanda還不具備檢測高級原型污染漏洞的能力。
JSPanda運行機制
- 使用了多種針對原型污染漏洞的Payload;
- 可以收集目標項目中的所有鏈接,并對其進行掃描,然后添加Payload至JSPanda所獲取到的URL中,并使用無頭Chromedriver導航至每一條URL鏈接;
- 掃描目標JavaScript庫源代碼中潛在易受攻擊的所有單詞,JSPanda可以掃描目標項目中的腳本工具,并創(chuàng)建一個簡單的JS PoC代碼,以幫助廣大研究人員對目標代碼執(zhí)行手動掃描;
工具要求
- 下載并安裝最新版本的Google Chrome瀏覽器以及Chromedriver驅(qū)動程序;
- Selenium
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
- git clone https://github.com/RedSection/jspanda.git
工具運行
(1) 執(zhí)行掃描
首先,我們需要將目標項目的URL地址添加進JSPanda的url.txt文件中,比如說“example.com”。添加完成后,我們就可以運行下列命令來執(zhí)行掃描了:
- python3.7 jspanda.py
(2) 基礎(chǔ)源代碼分析
首先,我們需要將一個JavaScript庫的源代碼添加至analyze.js中,然后使用analyze.py文件來生成PoC代碼。
接下來,在Chrome瀏覽器的命令行終端窗口中執(zhí)行我們剛才生成的PoC代碼。它將會對從源代碼中收集到的所有單詞進行污染操作,并將結(jié)果顯示在控制臺窗口中。這個過程有可能會產(chǎn)生假陽性結(jié)果。這些輸出信息僅為研究人員提供額外的安全分析信息,其目的并非實現(xiàn)完全的自動化操作。
運行命令如下:
- python3.7 analyze.py
源代碼分析截圖
工具演示視頻
視頻地址:【點我觀看】
項目地址
JSPanda:【GitHub傳送門】