海外的bug-hunters,不一样的403bypass

一种绕过403的新技术,跟大家分享一下。研究HTTP协议已经有一段时间了。发现HTTP协议的1.0版本可以绕过403。于是开始对lyncdiscover.microsoft.com域做FUZZ,并且发现了几个403Forbidden的文件。

图片

(访问fsip.svc为403)

在经过尝试后,得出一个结论:当清除所有header头的值时,服务器会对客户端作出响应。

结论1:

将HTTP协议版本更改为1.0,而且不要在标题中设置任何值。

结论2:

如果服务器和任何其他安全机制没有以正确的方式配置,不把Host放在header头内时,服务器将会自己把目标地址放在header中,这会导致服务器将我们的请求认做本地请求。

图片

(访问fsip.svc为200)

图片

用同样的方式尝试了另一个文件,并且再次成功bypass。

图片

(403)

图片

(200)

还要补充一点:你也可以用同样的方式去绕过CDN获取服务器IP。

例如:

图片

如你所见,在Location中,它在返回中显示了域本身的地址。



再次使用相同的方法并发送请求时,显示了服务器的主地址。

图片

以上技术已经被添加到burp工具当中:

https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122

------------------------------

以上这种思路虽然已经被添加到了burp插件,但我们依旧需要去学习了解插件运行背后的逻辑,而不只是当一个脚本小子。

尤其是在做黑盒测试中,秉持改变原有数据结构的FUZZ思路进行一切可能的尝试,才会挖掘出更有趣的漏洞。

在burp权限绕过插件中,除了以上尝试,还有诸多修改url请求的尝试,例如:

https://www.example.com..;/api/v1/users
https://www.example.com/api..;/v1/users
https://www.example.com/api/v1..;/users

这些尝试本质也是在破坏数据原有结构,利用后端,服务器等处理特性实现绕过。

其实除此外还可以进行任何可能的尝试:https://www.example.com/api/v1/users

例如将v1改成v2,利用通配符代替数字,或者添加多余的字符串等等操作。


  

本文作者:蚁景网安实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/205701.html

评论  (0)
快来写下你的想法吧!

蚁景网安实验室

文章数:399 积分: 877

蚁景网安实验室(www.yijinglab.com)网络安全靶场练习平台,涉及CTF赛前指导、职业技能训练、网安专项技能提升等。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号