31类API安全测试的小技巧(接口的安全测试)

网友投稿 441 2022-10-07


31类API安全测试的小技巧(接口的安全测试)

随着RESTful API、GraphQL API等API技术的发展,掌握API安全技术是***测试工程师的一项基本技能,在***测试过程中会用到各种API安全工具和技巧,其中API安全小贴士是入门学习的首选推荐,这里将它的中文版转发过来。

1. API版本漏洞,比如存在api/v3/login则检测api/v1/login,低版本API可能存在更多漏洞。

2. API多端/多接入点漏洞,比如认证接口,可能存在移动端、PC端、web端不同的认证接口或者不同的认证入口,/api/mobile/login 、 /api/v3/login 、 /api/magic_link等。

3. BOLA(失效的对象级授权和访问控制),BOLA像十年前的SQL注入一样,在API安全中广泛存在,作者通过一个附件材料,详细地介绍了BOLA问题的根源、如何发现和检测、如何防范和规避,并针对不同的角色(技术经理、开发人员、***人员)给出了建议。

4. 命令行注入,

以API,试着仅仅将content-type修改为 "application/xml",添加一段xml后发出请求,验证其是否支持SOAP协议,从而发现是否存在安全漏洞。

9. HTTP header标志符安全问题,当***测试REST API,HTTP header中的标志符往往比url中的标志符更容易发现安全问题。

10. 破坏功能级的授权和访问控制,来发现管理类API接入点,比如正常的请求是GET /api/v1/users/

11. 使用header认证,如果验证机制不支持cookie方式,则需要通过防护设计来保护API免受CSRF***。

12. 测试数值枚举,即使ID值为GUID生成的,也可以使用数值类型的来测试,比如使用 /?user_id=111来代替 user_id=inon@traceable.ai的值,有时候授权机制同时支持数值型和字符串型两种方式。

13. 批量分配问题导致授权绕过,比如POST /api/reset_pass 接口调用时需要验证旧密码,而PUT /api/update_user 接口调用可能就不需要旧密码。

14. 尝试扩展***面,比如通过Suite,即使免费版也提供树状视图,帮助你管理和发现所有你可以访问的API接口。

17. Mobile Certificate Pinning,当你测试Android或iOS APP时,在逆向工程或打补丁之前,看看老的版本是否存在Mobile Certificate Pinning不可用的问题。

18. 多关注很少人使用的功能,企业和开发者更多的关注那些使用量高的API,对于使用频率低的API,往往存在有趣的漏洞。

19. 以下这些功能可能存在更多的漏洞,比如组织机构内的用户管理、 CSV/HTML/PDF文件导出、客户视图、子账号的管理创建、对象共享(比如图片、文档等)。

20. 限流测试,尤其是在测试环境中,开发人员往往丢失限流机制,导致被暴力破解。

21. 使用 使用IL-spy; Java反编译使用Luyten)来发现更多的问题。

24. ***测试环境下认证, 授权, 限流、输入验证的安全机制,在测试环境中,研发人员往往禁用这些安全机制,***人员可以利用此来扩大***面。

25. ***导出PDF功能,导出功能往往使用扩展类库来处理导出功能,比如转换html为PDF,可以试试html注入。

26. 常用授权绕过技巧,在某些场景下,授权机制依赖于某个ID值,如果将ID值篡改为对象,比如数组对象、JSON对象,则发生授权绕过。

类似的***手法有:

数组绕过:{“id”:111} --> {“id”:[111]}JSON

对象绕过:{“id”:111} --> {“id”:{“id”:111}}

两次传值绕过:/api?id=非法参数值&id=恶意参数值

正则匹配绕过:{"user_id":"*"}

27. 当后端服务存在XSS保护时,以JSON代替试试。某些场景下,后端服务对html中存在xss具备保护机制,一旦触发则无应答或异常响应,试试以JSON格式的响应。

28. .NET应用测试技巧:有时候,开发者使用path_1,path_2两个参数来构造绝对路径,可能存在如果path_2为绝对路径时,则path_1则被忽略。

29.  善于利用API公开资料,大多数API接口都会有接口说明文档,并配备使用的源码样例程序,***测试人员要善于利用这些资料,分析用户、角色、资源之间的关系,从而发现更多的漏洞。

30.  ***测试进入僵持阶段怎么办?扩大***面。如果有移动端应用,可以从应用市场下载历史版本,寻找安全机制缺失的API调用接口,比如授权、参数过滤、速率限制、影子API等。

31. 关注速率限制类型的安全漏洞,尤其是带有limit / page之类的参数,比如/api/news?limit=100,/api/news/pageNo/10/pageSize/50之类的接口,通过修改参数值测试是否存在Http Dos漏洞。

-End-

作者简介

作 者:钱君生

科大讯飞集团安全技术专家,10余年行业工作经验,主要负责安全平台研发、DevSecOps、安全防护体系、团队建设等工作,具备丰富的互联网安全一线实战经验,曾编写开源网络安全图书《Burp Suite实战指南》。

推荐图书:

融合信息安全行业资深技术专家10多年一线实战经验,为IT技术人员提供API安全知识和技术实战方面的案例讲解。

更多API安全相关的知识,感兴趣的童鞋可阅读《API安全技术与实战》一书。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C与跨平台开发(C#跨平台开发)
下一篇:JAVA匿名内部类(Anonymous Classes)的具体使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~