第二篇翻译:URL重定向

原文:Developers are lazy(or maybe busy)

漏洞:@符绕过造成URL重定向

作者:KatsuragiCSL

难度:低

正文

  这次我要写一个我在私人程序中发现的开放重定向的BUG漏洞。尽管这个BUG的危害不太严重,但是去发现它的过程却很有趣!

  我们暂且定义这个网站的域名为example.com,一开始我注册了一个测试账号,接着四处寻找可能存在漏洞的点,然后就发现了下面的URL链接:

1
https://www.example.com/account/login?next=https://www.example.com

  条件反射就想到了要去测试开放重定向这种类型的漏洞!

  首先,我尝试了最常规的payload:https://www.example.com/account/login?next=https://google.com 遗憾的是这个payload并没有生效,我没有被重定向到Google去!

  然后,我又尝试另一个payload:https://www.example.com/account/login?next=https://example.com@google.com , //google.com , javascript:alert(1) 不过这些花里胡哨的东西并没有任何作用

  最后灵犀一点,我换成这个payload之后终于有了一点反应:https://www.example.com/account/login?next=https://www.example.com&next=https://google.com 但这也仅仅只是有点反应而已,并没有实现真正的跳转,回车之后我的URL变成了:https://example.com%2Cgoogle.com 并且浏览器还提示错误

  尽管又失败了,但是此时我相信自己能够利用这个点!从上面浏览器URL的变化可以发现服务器只是过滤了第一个参数,第二个参数中的值被保留了,只不过是用了一个逗号(%2C)连接而已

  所以我又构造了最终的payload:https://www.example.com/account/login?next=https://www.example.com&next=@google.com

  并且得到URL:https://example.com,@google.com 这其实就已经将我重定向到https://www.google.com了,不信你可以访问看看

  最后让作者很郁闷的是虽然登陆页面的重定向漏洞被修复了,但是当他来到注册页面,bom一模一样的漏洞依然存在,此处省略n个单词….

打赏译者

文章目录
  1. 1. 原文:Developers are lazy(or maybe busy)
  2. 2. 漏洞:@符绕过造成URL重定向
  3. 3. 作者:KatsuragiCSL
  4. 4. 难度:低
  • 正文
    1. 1.   这次我要写一个我在私人程序中发现的开放重定向的BUG漏洞。尽管这个BUG的危害不太严重,但是去发现它的过程却很有趣!
    2. 2.   我们暂且定义这个网站的域名为example.com,一开始我注册了一个测试账号,接着四处寻找可能存在漏洞的点,然后就发现了下面的URL链接:
    3. 3.   条件反射就想到了要去测试开放重定向这种类型的漏洞!
    4. 4.   首先,我尝试了最常规的payload:https://www.example.com/account/login?next=https://google.com 遗憾的是这个payload并没有生效,我没有被重定向到Google去!
    5. 5.   然后,我又尝试另一个payload:https://www.example.com/account/login?next=https://example.com@google.com , //google.com , javascript:alert(1) 不过这些花里胡哨的东西并没有任何作用
    6. 6.   最后灵犀一点,我换成这个payload之后终于有了一点反应:https://www.example.com/account/login?next=https://www.example.com&next=https://google.com 但这也仅仅只是有点反应而已,并没有实现真正的跳转,回车之后我的URL变成了:https://example.com%2Cgoogle.com 并且浏览器还提示错误
    7. 7.   尽管又失败了,但是此时我相信自己能够利用这个点!从上面浏览器URL的变化可以发现服务器只是过滤了第一个参数,第二个参数中的值被保留了,只不过是用了一个逗号(%2C)连接而已
    8. 8.   所以我又构造了最终的payload:https://www.example.com/account/login?next=https://www.example.com&next=@google.com
    9. 9.   并且得到URL:https://example.com,@google.com 这其实就已经将我重定向到https://www.google.com了,不信你可以访问看看
    10. 10.   最后让作者很郁闷的是虽然登陆页面的重定向漏洞被修复了,但是当他来到注册页面,bom一模一样的漏洞依然存在,此处省略n个单词….
  • 打赏译者
  • |