API安全系列——API安全测试31个Tips(二)

tip11:

检查API 是否使用授权头?忘了 CSRF 吧!如果身份验证机制不支持 cookie,则这个 API 就被设计为了防止 CSRF 的攻击。

tip12:

对 BOLA (IDOR)的测试?即使ID是GUID或非数字类型的值,渗透测试人员也要尝试发送一个数字值。

例如: / ?user_id=111 使用 user_id=inon@traceable.ai 代替

有时身份认证机制同时支持这两种方式,而且暴力破解数字更容易。

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.comhttp://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

这个例子也会写一篇文章,链接后面发。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s