内容简介:速率限制(Rate Limit)是为了限制某种资源在某段时间内被访问的次数,也即客户端发起请求的或服务端响应请求的次数,目的在于防止DoS攻击或对资源的无限请求下载。资源可以是网站服务、API接口或 磁盘读写等。本文中作者就通过发现了雅虎(Yahoo)网站评论区的速率限制漏洞,可在短时间内发送大量评论,造成评价拥塞,从而收获了雅虎官方奖励的$2000。在一些API接口中,应该考虑速率限制,限制每个客户端IP对API接口的请求是1分钟内最多多少次调用,如果超过该次数,那么,服务端应该采取拦截封堵,这样从服务端
速率限制(Rate Limit)是为了限制某种资源在某段时间内被访问的次数,也即客户端发起请求的或服务端响应请求的次数,目的在于防止DoS攻击或对资源的无限请求下载。资源可以是网站服务、API接口或 磁盘读写等。本文中作者就通过发现了雅虎(Yahoo)网站评论区的速率限制漏洞,可在短时间内发送大量评论,造成评价拥塞,从而收获了雅虎官方奖励的$2000。
速率限制漏洞
在一些API接口中,应该考虑速率限制,限制每个客户端IP对API接口的请求是1分钟内最多多少次调用,如果超过该次数,那么,服务端应该采取拦截封堵,这样从服务端性能和资源安全性方面考虑,都会是一个很好的控制措施。
如果服务端未设置合理的速率限制(Rate Limit)措施,那么可以造成间接的DoS或是用户信息泄露。比如,若网站提供了邮箱和手机号码注册功能,并设置有忘记密码页面,但是却忘记针对忘记密码功能做速率限制(Rate Limit),那么我们对此可以发起两方面的利用:
1、在忘记密码页面中填入注册用户(受害者)的注册邮箱或手机号码,配合BurpSuite抓包,提交忘记密码请求,利用repeater或intruder模块进行多次数据包重放,1000次或上万次的重放将对受害者邮箱和手机造成信息轰炸; 2、收集或生成邮箱和手机字典,根据忘记密码页面请求的响应提示,判断网站注册用户,间接实现对网站注册用户的枚举。
雅虎(Yahoo)的速率限制漏洞
当然,速率限制漏洞不仅限于忘记密码页面,还会存在于一些用户评论、用户添加、用户邀请、评论发送或一次性密码(OTP)发送等功能中。就比如我最近在yahoo.com用户评论区发现的一个速率限制漏洞,利用该漏洞,我可以在1分钟内发送多达100到200条的GIF动图评论,在评论区造成GIF flood。如下:
我发现yahoo.com网站中有4个服务端都存在类似漏洞,目前这些漏洞均已修复。用Intruder的复现步骤如下:
1、去到存在速率限制漏洞的评论区,发送评论;
2、用BurpSuite抓包并发送到Intruder模块;
3、清除其它多余参数,保留评论区参数;
4、针对评论区构造任意评论内容字典,开始发起attack;
5、attack结束,刷新评论区页面即可看到attack后留下的评论内容。
同样,用Repeater点击多次送请求包也能实现同样效果:
漏洞修复建议
1、在API接口中设置速率限制措施; 2、在API接口中设置严格的权限设置,严格防范IDOR漏洞; 3、对于忘记密码或注册等用户功能处,不给出明显的请求响应提示。
*参考来源: medium ,clouds 编译整理,转载请注明来自 FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 挖洞经验 | 缺乏速率限制(Rate Limitation)导致的Instagram账户密码枚举
- Envoy、gRPC和速率限制
- nginx 对同一 ip 访问请求速率限制
- 使用 Rust 将机器学习生产速率提升25倍!
- SRE 弹性能力:使用 Envoy 对应用进行速率限制
- Spring Cloud Netflix Zuul中的速率限制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
开发高质量PHP框架与应用的实际案例解析
Sebastian Bergmann / 刘文瀚、刘海燕 / 清华大学出版社 / 2012-6 / 49.00元
PHP已经成为最受欢迎的编程语言之一,这使得用PHP创建高质量、易维护的应用程序和框架比以往受到更多的青睐。通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的不同层次介绍了规划、执行以及测试自动化方面的内容,并解释了这些公司如何测量和测试软件质量。《开发高质量PHP框架与应用的实际案例解析》作者Sebastian Bergmann、Stefan......一起来看看 《开发高质量PHP框架与应用的实际案例解析》 这本书的介绍吧!