漏洞挖掘 - Url重定向

admin 2022年1月9日05:29:28评论100 views字数 2009阅读6分41秒阅读模式

引言

        这篇文章适合执着于挖洞又挖不倒洞的小伙。

 

URL重定向漏洞

URL重定向是什么?

        URL重定向的定义是指把一个目录或文件的访问请求转发到另一个目录或文件上,当用户发出相应的访问请求的时候,网页能跳转到指定的位置。

        说人话就是:我们点击一个网页内的链接时, 网页会自动跳转到这个外链。如下图所示:知乎自动重定向到我所点击的链接“看到网页上面的安全两字,说明:跳转链接是一种风险行为”


漏洞挖掘 - Url重定向


漏洞危害

        如果知乎存在url重定向漏洞,那么我们可以将上图的URL替换成我们精心准备好的陷阱网站,就可以实现一次钓鱼攻击。

        说人话就是:伪装恶意链接, 让目标用户访问(骗用户点击)

举例说明

        如果QQ空间存在重定向漏洞,那么我伪造一个和QQ空间一样的界面网页,让你登录,这样就可以直接获取你的明文密码。

        如果QQ空间存在CSRF漏洞,那么重定向+CSRF就可以打一波组合拳。

        如果在url设置一个FLASH更新的钓鱼页面,用户只要点击更新,电脑就会被控制。

        当你你想知道一个人(比如:女朋友)目前所在的位置,就可以做一个获取IP地址的网页。让她点击。在使用ip高精度查询,就可以知道她的位置了。(实现方式有很多种,在这只说一种。)

          https://chaipip.com/aiwen.html   高精度IP地址查询

我们怎么去找这个漏洞?


黑盒测试(一个一个试)


        我们首先要分析功能点,哪些功能更容易出现重定向漏洞呢?

        我们要找url重定向漏洞,肯定目标就是那种容易出现跳转URL的地方。

 

        有开发基础的同学肯定知道:用户登录、登出、404页面、用户分享、收藏内容、站内点击其它网址链接、站内广告等等。等会发生跳转。

那么开发者都会用什么函数去实现这些功能呢?


这里我百度了一下,大抵有以下几个函数:


redirectredirect_toredirect_urlurljumpjump_totargettolinklinktodomainService.....


 

我们只要在url中发现以上几个函数,那么就可以愉快的测试了。

 

 

举例:

        这个pikachu漏洞练习靶场这个就比较清晰了。URL=i  这个地方可能就存在url重定向漏洞。

我们将url后面的i改成百度的网址url=http://www.baidu.com,发现跳转了。说明这个地方就存在url重定向漏洞。


漏洞挖掘 - Url重定向

漏洞挖掘 - Url重定向

 

白盒测试(一句一句分析)

这里就举一个织梦CMS的例子,搭建好DedeCMS5.7SP1

/plus/download.php中代码59

传入base64加密之后的参数link,经过代码的解码之后,

 

$link = base64_decode(urldecode($link)); 

 

再经过代码67header函数就会重定向到任意网站。

header(“location:$link”);

 

构造语句:http://www.xxx.com/plus/download.php?link=http://www.baidu.com&open=1

上面这行函数是对传入的URL进行解码,如果不清楚为什么是解码可以百度一下这个函数。

所以我们的URL需要进行base64加密后,在让他解码才能得到我们想要的跳转。如下图:


漏洞挖掘 - Url重定向


知道了漏洞的位置,我们fofa一下:body="/plus/download.php" 



漏洞挖掘 - Url重定向

 

漏洞挖掘 - Url重定向


有攻击肯定就有防御,我怎么去绕过防御呢?

根据url的特性以及普通安全人员的常规设置,我们准备了一些常用的bapass

url=http://[email protected]url=http://www.XX.com?www.baidu.comurl=http://www.XX.com#www.baidu.comurl=http://www.XX.com/www.baidu.comurl=http://www.XX.comwww.baidu.comurl=http://www.XX.com192.168.1.2   IP地址url=http://www.XX.comfe80::703f:eb1d:4380:e243%13  IPV6地址url=http://www.XX.com地址   这个地址转换成8进制、10进制、16进制。....


等等

 

我们可以将/@#././/.”这些特殊字符配合url进行fuzz生成一本字典,进行测试。

修复防范

        漏洞攻击的本质,攻击的是人性,开发者疏忽、安全专家的疏忽、网站管理员疏忽。才会让黑阔有有机可乘。

        直接使用黑名单限制跳转的站点。

 


本文始发于微信公众号(Khan安全攻防实验室):漏洞挖掘 - Url重定向

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月9日05:29:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞挖掘 - Url重定向http://cn-sec.com/archives/465621.html

发表评论

匿名网友 填写信息