跳到主要内容
P小二 P小二
← 返回文章 • 公众号 • • 约 5 分钟

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(一)