Webug第9关

第9关的标题是URL跳转,题目是能不能从我到百度那边去。
点击进去,和之前是一样的登录页面:

image.png

用上一题的帐号密码登录,还是和之前一样,修改密码后也是照样不能登录,而且F12也没有信息,按照标题,找一下URL跳转的方法,在百度过后,找到了一位大佬:
https://blog.csdn.net/wst0717/article/details/83275253
先说一下重定向的背景:由于越来越多的应用需要和第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,就像你注册QQ一样,在点击注册之后,会跳转到一个注册页面,根据这个特性,可能患有安全问题,特定条件下可作为一种漏洞利用。
成因:对于URL跳转的实现一般有几种方式:
1.META标签内跳转(此标签可以作为一种索引被找到)
2.Javascript跳转(应该是脚本内写好的url跳转)
3.header头跳转(PHP中的header函数,可指定跳转的url)
通过以GET或POST的方式接受将要跳转的URL,之后通过上面的几种方式中的一中来跳转到目标URL。一方面,由于用户的输入会进入META,JS,http头,所以都可能发生上下文的漏洞,同时,即使只是对URL跳转本身功能方面也存在缺陷,因为会将用户浏览器从可信的站点导向不可信的站点,在跳转过程中用户填写的敏感信息也可能泄漏给第三方。就像本题一样,意思是叫你从这个页面跳转到百度,而这个又是个登录页面,那么可以通过修改登录按钮所连接url,形成欺骗页面,让用户使用这个页面时觉得是正常页面,输入帐号密码信息,这些信息就会被发送到你恶意写入的url里了......

攻击方式及危害:恶意用户完全可以借用URL跳转漏洞来欺骗安全意思较低的用户,像网上什么的“彩票等”奇奇怪怪的页面。而且借住URL跳转,也可以突破常见的基于“白名单方式”的一些限制。比如一些引用资源的限制是依赖于白名单方式的,就可以使用url漏洞绕过一些安全防护,就像一些应用可以引入可信站点如"youku.com"的视频,限制方式可能是检查url里是否含有youku.com来实现,如果这个youku.com内含一个url跳转的漏洞,那么将导致引入一些恶意资源,导致信息泄漏。理论上讲,url跳转也是输入CRSF漏洞的一中(url跳转是通过构造恶意url,CRSF是通过伪造页面,页面的url也是不一样的),所以防御这个的方法和防御CRSF的一样。

可以使用的绕过限制方法:
1.使用问号绕过。比如http://www.aaa.com/acb?Url=http://login.aaa.com是一个跳转链接,可以跳转到它的二级域名下,这个问号需要放在二级域名的前面,就像这个域名一样,可以跳转到http://login.aaa.com页面。(也可以说是你添加的,想要跳转的域名后面,就像你想http://www.aaa.com/acb跳转一样)。

  1. 利用@绕过。这个操作和上面的差不多,就是在想要跳转的域名之前加上一个@符号。还有就是利用#号和正反斜杆和 . 绕过的,这类的绕过应该是通过特殊符但是在url识别中又不违反的原理吧....

3.利用白名单缺陷绕过。利用的是白名单限制不全的原理,比如有个公司网站有很多子域名都可以跳转,那么你可以通过注册包含这个公司网站在内的域名,那么这个公司的白名单在检查你的域名的时候就会检查是否包含了这个公司的子域名在内之类的,而没有完整的检查整个域名信息,那么利用这个就可以实施绕过了。

当然还有很多种绕过方式,可以参考上面的博客。

这道题中,在登录页面尝试了使用?绕过,好像就直接解题了.....
image.png

这道题可能有简单,因为url跳转应该是在各级页面都尝试一下,和使用各种方法跳转,但是这个比较简单,在初始页面就可以直接跳转了,用的方法也不难....这个url跳转的危害还是大的,比如有些人就可以利用某些名牌大学的官网,之后在后面加上一些诈骗网站的域名实施跳转,欺骗一些意识没那么强的人.....

你可能感兴趣的:(Webug第9关)