URL重定向
是指把一个目录或文件的访问请求转发到另一个目录或文件上,当用户发出相应的访问请求时,网页能跳转到指定的位置。
简单来说,就是输入一个网站时,会被带到另一个网站。
不安全的 url 跳转问题可能发送在一切执行力 url 地址跳转的地方。
url 重定向的分类
301永久重定向
http状态码是301
多用于旧网址被废弃了要转到一个新的网址确保用户的访问,
比如输入www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong.com这个网址已经被废弃了,被改成jd.com
,所以这种情况下应该用永久重定向。
302暂时重定向
http状态码是302
比如进入一个网页会自动跳转到登录界面,这种情况用的是暂时重定向。
漏洞可能发生的地方
用户登录、身份认证处,认证完后,跳转
用户方向、收藏内容后,跳转
跨站点认证、授权后,跳转
站内点击其他网址后,跳转
利用方法
假设原域名:www.baidu.com
要跳转的域名:edu.com
参数后直接跟要跳转的网址:
https://www.baidu.com/redirect.php?url=http://www.edu.com/untrust.html
当程序员校验跳转的网址协议必须为https时:
https://www.baidu.com/redirect.php?url=https://www.edu.com/untrust.html
url跳转的危害
钓鱼,攻击者使用漏洞方的域名做掩盖,最终跳转的却是钓鱼网站。
这个域名可以是一个比较出名的公司域名,能让用户放心点击。
下面通过 pikachu 靶场的 “不安全的 url 跳转”模块进行 url 重定向的测试。
这里只有一种情况,不是很全面。
打开界面是这样子的,有四行字都可以点击。
每一个都尝试去点一下。
发现前面两个点击没有什么变化,点击第三个会跳转回到URL重定向的概述页面。
点击第四个 url 就出现了变化
这里就是直接在原来的链接上面加上想要跳转的钓鱼网站。
比如现在我们修改一下后面 url 的值,点击就会跳转到后面的网页。
localhost/pikachu/vul/urlredirect/urlredirect.php?url=https://blog.csdn.net/Goodric?spm=1001.2100.3001.5343