API安全测试31个Tips(二)
tip11: 检查API 是否使用授权头?忘了 CSRF 吧!如果身份验证机制不支持 cookie,则这个 API 就被设计为了防止 CSRF 的攻击。 tip12: 对 BO
tip11:
检查API 是否使用授权头?忘了 CSRF 吧!如果身份验证机制不支持 cookie,则这个 API 就被设计为了防止 CSRF 的攻击。
tip12:
对 BOLA (IDOR)的测试?即使ID是GUID或非数字类型的值,渗透测试人员也要尝试发送一个数字值。
例如:
/?user_id=111
使用
- ```
[email protected]
代替
有时身份认证机制同时支持这两种方式,而且暴力破解数字更容易。
tip13:
** **
使用批量尝试绕过安全机制。例如,“输入密码”机制:
-
POST /api/reset_pass requires old password.
-
PUT /api/update_user is vulnerable to MA == can be used to update pass without sending the old one (For CSRF)*
比如: 上面的重设密码需要旧密码,但是更新用户的API 就不需要发送旧密码
tip14:
** **
在API测试期间卡住了?
扩大你的攻击面!
查找同级域名或者子域名,使用
http://Virustotal.com 和 http://Censys.io。其中一些域可能使用不同的配置/版本公开相同的api。
tip15:
** **
静态资源包括照片、视频等等,Web服务器(IIS、Apache)在授权时对静态资源的方式是不同的。即使开发人员实现了良好的授权,也有很好的机会访问其他用户的静态资源。
tip16:
** **
即使你使用另一个web代理,应该始终在后台使用Burp。@PortSwigger的人在帮助你管理测试用例方面做得非常好。使用“树视图”(免费版本)功能查看你访问过的所有API端点。
**
**
tip17:
** **
移动证书锁定?在你开始逆向工程和修补客户端应用程序之前,检查iOS和Android客户端以及它们的旧版本。很有可能其中一个没有启用证书锁定。这样可以节约时间。
tip18:
** **
公司和开发人员倾向于将更多的资源(包括安全性)投入到主要的api中。那些很少被人们使用过的API 接口可以发掘一些有趣的漏洞。
比如
POST /api/profile/upload_christmas_voice_greeting
## **tip19:**
**
**
你觉得哪些功能更容易受到攻击?
- Organization’s user management
- Export to CSV/HTML/PDF
- Custom views of dashboards
- Sub user creation&management
- Object sharing (photos, posts,etc)
上面的都容易被攻击吧,最容易的就是有权限访问的。像组织用户管理,子用户创建和管理。对象共享,也有权限问题。
输出CSV/HTML/PDF 这个功能可能比前面的几个要好一点。
##
## **tip20:**
**
**
测试AuthN api ? 如果您在生产环境中进行测试,那么很有可能AuthN端点具有抗暴力破解保护。无论如何,DevOps工程师倾向于在非生产环境中禁用速率限制。不要忘记测试它们。
更多的例子:
WHY FACEBOOK HACKERS ARE A REAL THREAT AND HOW TO PROTECT YOURSELF
链接:
https://www.scoopbyte.com/why-facebook-hackers-are-a-real-threat-and-how-to-protect-yourself/
**系列推荐:**
[API安全测试31个Tips(一)](http://mp.weixin.qq.com/s?__biz=MzAwNzc4MDgwNQ==&mid=2653125713&idx=1&sn=abeebe9a2f50c850bce9c18d579a04ef&chksm=80af3cfbb7d8b5ed6c165c48d3dddd4b0cac10ce324731d5c4cdd7bf3606810a53a59508263a&scene=21#wechat_redirect)