翻译
原文:
https://medium.com/@malcolmx0x/three-cases-three-open-redirect-bypasses-887bda60b38c
漏洞:重定向漏洞
......
哈罗,今天我将会展示我遇到的三个案例,看我如何成功绕过重定向的漏洞。
介绍重定向的绕过思路点:
在所有重定向的案例中,他将会有以下区域可以尝试进行绕过
第一种:在http协议之前,以至于我们能够使用我们的攻击者站点 attack.com/http://mytarget
第二种:在www的区域和重定向区域之前
第三种:在.com之后,我们能够使用@
第四种:在端口后面,例如:www.target.com:attacker.com
在以下三个方面我们可以去绕过重定向(当然不是全部)
#情况1:
这种情况是这样,有一个重定向的参数?redirect,?rediect=http://www.target.com,我发现我仅仅能够使用www成功访问这个站点
所以现在我尝试去将这个参数变成 www.evil.com.mytarget.com,但是他没有成功,我尝试去寻找一些字符使得它能够在www.evil.com和mytarget.com之间中断,我发现\\能够成功实现,如(http://www.evil.com\\mytarget.com) ,依然没有完全成功,我得到了一个Forbidden的回应,在一段时间的研究之后,我发现我没有在mytarget.com之前输入. ,所以我现在将其参数变成 http://www.evil.com\\.mytarget.com ,它能够成功的重定向到evil.com
#情况2:
这种情况是这样,有一个重定向的参数?redirect,将用户重定向到主域,我发现我可以使用www,看起来和第一种情况相同,但是他是不同的方式。
这个参数不会接受任何符号达到像我们情况1一样在我们的攻击地址和目标网站之间做一个中断,在一段时间的尝试之后,我想到了一个好主意,我们能够去欺骗我们的目标,对,没错,就是使用@,构造如下:http://attacker.com@mytarget.com
他实现了和我们情况1中的 http://attacker.com\\@mytarget.com一样的效果,oh,我忘记了他最终将会重定向到@target.com,那我现在能够做些什么?
@attacker.com\\@mytarget.com 这样构造会产生什么效果?很高兴它能够正常工作,最终这个url是https://@attacker.com\\@mytargt.com,我们能够成功的重定向到https://attacker.com
#情况3:
这个重定向的最后一种情况如下,参数为?redirect=https://mytarget.com,你认为我们只有去使用情况1和情况2的方法?哦,no!现在我们去使用一种更加先进的方法,那么这个到底是怎么去实现?我们只需要去使用 “%E3%80%82”即可,这个%E3%80%82代表的是 /
最终我们的完整URL是 https://attacker.com%E3%80%82.mytarget.com ,这样的话我们能成功的重定向到 https://attacker.com
最后,我希望你们能喜欢这篇文章!
当然更多思路请参考:
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Open%20redirect
,