Web Service和Web API滲透測試指南(一)
嗨,各位讀者,今天我們將了解Web服務和API滲透測試部分中的另一個有趣的部分,它圍繞Web服務的安全性評估展開。
首先讓我們來看看Web服務由哪些組成:
Web服務是由標準化的XML消息傳遞系統組成的軟體。Web服務的好處在於它的所有通信都是XML格式,它們不限於任何操作系統或編程語言,它們構建於Web服務之上,都建立在開放標準之上,如TCP / IP,HTTP,Java, HTML和XML。
Web服務剖析
簡單地說,任何基本的Web服務平台都是XML和HTTP的組合。
它們可以是:
SOAP(簡單對象訪問協議)
UDDI(通用描述,發現和集成)
WSDL(Web服務描述語言)
Web服務如何工作?
Web服務依賴於
XML來標記數據(作為標記和系統
SOAP傳輸消息
WSDL來描述服務的可用性。
我們來看看基於SOAP的Web服務剖析:
SOAP服務結構
Web服務布局
Web服務滲透測試:
要開始滲透測試Web服務,我們總是需要以下初步知識:
1)示例API文件(WSDL / SOAP等)
2)示例請求/響應(了解值和數據傳遞)
3)入口點/ URL
用於執行Web服務滲透測試的工具:
Fiddler
Burp Suite
Acunetix / IBM安全AppScan
ZAP代理
Curl
SOAP UI
接下來,我會簡要介紹Web服務安全測試的各種測試用例,工具和方法。
黑盒Web服務滲透測試先決條件:
-> Web服務描述語言(WSDL)文件
灰盒Web服務滲透測試先決條件:
-> WSDL文件的方法示例請求/響應。
Web服務的滲透測試階段:
1.信息收集
2.黑盒
3.Google hacking(使用dorks發現網路託管網站的 Web服務)
4.UDDI
5.Web服務發現(如果沒有提供WSDL的話)
6.身份驗證類型發現
測試方法:
->自動測試工具
?SoapUI Pro
?OWASP ZAP
?IBM AppScan
?HP Webinspect
?WSBang
?WSMap
->手動測試工具
?Soap UI Free
?Burp Suite Pro
?Postman(和 Burp配合使用)
->擴展:
?SAML編輯器
?SAML編碼器/解碼器
?WSDL嚮導
?Wsdler
?SOA客戶端
在Web服務中查找測試用例:
?Fuzzing
?XSS / SQLi /格式錯誤的XML
?文件上傳
?Xpath注入
?XML炸彈(DoS)
?基於身份驗證的攻擊
?重放攻擊
?會話固定
?XML簽名封裝
?會話超時
?主機密碼支持/有效證書/協議支持
?散列演算法支持
現在我們來看看如何使用SOAP UI執行自動掃描並獲得Web服務的初步安全報告。
使用SOAP UI Pro進行安全評估:
1.啟動SOAP UI並創建功能測試用例
2.添加安全測試
3.選擇「自動」模式為TestCase中的TestSteps生成默認安全掃描和斷言,然後點擊「Next」:
4.按OK以使用所描述的配置創建安全測試並打開安全測試窗口:
5.現在運行安全測試
6.發布安全掃描後,你可以深入了解輸出或生成報告以供你評估。
搭建易受攻擊的Web服務的虛擬機環境:
?OWASP
Mutillidae
?PenTester實驗室:Axis2 Web服務和Tomcat管理器
?DVWS
?OWASP WebGoat
本系列的後續部分將重點討論如何使用burp suite+ PostMan以及SOAP UI手動測試Web服務。
參考資料和來源:
https://www.owasp.org/index.php/REST_Assessment_Cheat_Sheet
https://www.soapui.org/security-testing/getting-started.html
※如何利用PowerShell診斷腳本執行命令並繞過AppLocker
※Spectre 攻擊詳解
TAG:嘶吼RoarTalk |