之前滲透遇到過好幾次,當時沒怎么注意該如何使用,正好看到了一篇不錯的文章。學習記錄匯總如下:
- 如何查找
- 如何使用
- 遇到問題小技巧
1:如何查找
把以下目錄直接增加到字典中,
/swagger/ /api/swagger/ /swagger/ui/ /api/swagger/ui/ /swagger-ui.html /api/swagger-ui.html /user/swagger-ui.html /swagger/ui/ /api/swagger/ui/ /libs/swaggerui/ /api/swaggerui/ /swagger-resources/configuration/ui/ /swagger-resources/configuration/security/
1-1:根據返回狀態碼判斷是否存在
1-2:通過js查找在網站的config等關鍵詞js文件中查找
2:如何利用
找到SwaggerUI頁面后,應快速瀏覽所展示的接口功能,根據功能點由高風險到低風險依次進行安全測試。
常見的接口安全測試點如下:
接口越權(若接口文檔對應的Web應用提供注冊功能,可以用低權限用戶token嘗試水平越權查詢修改其他用戶信息,或者垂直越權嘗試進行管理員操作) 接口SQL注入(針對所有查詢接口) 接口未授權訪問(重點針對管理員模塊,如對用戶的增刪改查) 任意文件上傳(針對上傳接口進行測試) 測試信息泄露(重點針對用戶、訂單等信息查詢接口,以及一些測試數據等)
3:遇到問題小技巧
3-1:測試接口地址請求的API路徑,如果swagger頁面地址不是直接拼接在域名之后,一般需要添加swagger-ui.html之前的URI地址
3-2:swagger-ui.html頁面添加了登錄認證。除了進行弱口令嘗試,還可以直接在swagger-ui.html前一層路徑后添加/v1/api-docs即可訪問接口(v1代表接口迭代版本,可以嘗試v2、v3等可能會有驚喜等着你~)或者請求/swagger/v1/swagger.json