<?php$url=$_GET['url'];header("Location: $url");?>
依然利用php快速启动
php -S 0.0.0.0:9999
访问http://internal.gm7.org:9999/test.php即可
访问 http://internal.gm7.org:9999/test.php?url=https://baidu.com,将会跳转到baidu.com

个中baidu.com可以写成任意网站,用户也会根据参数url设置的值跳转到任意网站中。
1.4. 绕过字典上面的复现只是最根本的情形,但是大多数网站都或多或少做过一些加固,这里我直接贴出来我常用的绕过字典(点击下载[1]),一共637条。
大家在利用的时候,只须要将white.domain更换为目标许可的白名单域名即可。
1.5. 漏洞实战
某网站存在“阅读原文”功能,如下图
点击后会跳转到对应的网站中,根据履历,可创造goto后面为一串网址的base64编码,因此我们只须要布局:
https://xxx.com/goto/<base64(网址)>
就可以跳转到任意网站中,如:
https://xxx.com/goto/aHR0cHM6Ly9ibG9nLmdtNy5vcmcv
测试后成功跳转:
1.6. 修复建议输入验证: 在接管用户输入并用于构建URL跳转功能之前,始终进行输入验证。确保只接管合法的URL,并防止恶意代码的注入。白名单验证: 对付跳转的URL,建议利用白名单验证,只许可跳转到事先定义的合法域名或URL。安全编码实践: 开拓职员应遵照安全编码实践,包括对用户输入进行适当的转义和过滤,以防止恶意URL的布局。警告和提示: 在重定向之前,向用户显示明确的警告和提示信息,确保用户能够确认将要访问的目标网站的合法性。外链转换[1]点击下载: https://blog.gm7.org/个人知识库/01.渗透测试/02.web漏洞/28.任意url跳转/README.assets/open-redirects.txt