接口文档下的渗透测试

   之前渗透遇到过好几次,当时没怎么注意该如何使用,正好看到了一篇不错的文章。学习记录汇总如下:

  1. 如何查找   
  2. 如何使用 
  3. 遇到问题小技巧

 

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

  

 

posted @ 2020-10-16 14:07  BuXuan  阅读(1303)  评论(0编辑  收藏  举报