API接口的滲透測試有以下特性:
API的接口數據交互格式大多數為JSON格式,由多個參數或鍵值對組成的JSON結構作為參數與服務器端進行交互,這種請求參數的格式,對于滲透測試人員來說,Fuzz測試時很容易混淆。
大多數API都有認證機制,比如OAuth 2.0、APPID/APPKEY,尤其是客戶自定義認證方式時,滲透測試工作的開展更加困難,需要先理清其業務邏輯才能更好地開展。
API與傳統的Web網頁不同,API通常是純后端的應用,這種不可見或無持續連接狀態的特性,導致滲透測試人員容易忽略某些接口或無法發現接口。
API協議的HTTP狀態碼與普通HTTP協議存在差異,對安全輔助工具的自動化判斷產生影響。
API接口描述、參數格式與傳統Web網頁差異性較大,沒有很好的自動化工具支撐,定制化工作多,對滲透測試人員的能力要求較高。
在目前前端技術棧比較豐富的情況下,很多接口交互的發起使用Ajax請求,比如Vue、Angular、React,這對安全掃描工具自動化地捕獲API流量是很大的挑戰。
回答所涉及的環境:聯想天逸510S、Windows 10。
API接口的滲透測試有以下特性:
API的接口數據交互格式大多數為JSON格式,由多個參數或鍵值對組成的JSON結構作為參數與服務器端進行交互,這種請求參數的格式,對于滲透測試人員來說,Fuzz測試時很容易混淆。
大多數API都有認證機制,比如OAuth 2.0、APPID/APPKEY,尤其是客戶自定義認證方式時,滲透測試工作的開展更加困難,需要先理清其業務邏輯才能更好地開展。
API與傳統的Web網頁不同,API通常是純后端的應用,這種不可見或無持續連接狀態的特性,導致滲透測試人員容易忽略某些接口或無法發現接口。
API協議的HTTP狀態碼與普通HTTP協議存在差異,對安全輔助工具的自動化判斷產生影響。
API接口描述、參數格式與傳統Web網頁差異性較大,沒有很好的自動化工具支撐,定制化工作多,對滲透測試人員的能力要求較高。
在目前前端技術棧比較豐富的情況下,很多接口交互的發起使用Ajax請求,比如Vue、Angular、React,這對安全掃描工具自動化地捕獲API流量是很大的挑戰。
回答所涉及的環境:聯想天逸510S、Windows 10。