URL重定向漏洞常被用于钓鱼攻击,既攻击者使用漏洞方的域名(比如一个比较出名的公司域名往往会让用户放心的点击)做掩盖,而最终跳转的确实钓鱼网站。

不安全的URL跳转

首先我们看一下源代码,可知前端将我们输入的URL传递给后台,且后台未做任何的安全验证,最后直接通过header函数进行跳转。

$html="";
if(isset($_GET['url']) && $_GET['url'] != null){
    $url = $_GET['url'];
    if($url == 'i'){
        $html.="<p>好的,希望你能坚持做你自己!</p>";
    }else {
        header("location:{$url}");
    }

我们可以发现url可以传参。

我们可以将输入我们想要传入的网址(例如百度),即会发生页面跳转

http://127.0.0.1/vul/urlredirect/urlredirect.php?url=http://www.baidu.com

扩:URL重定向的防护措施

  1. 避免使用用户提供的重定向URL
  2. 白名单验证
  3. 域名验证
  4. 服务器端验证
  5. 使用相对路径
  6. 添加确认页面
  7. 签名验证

     

 

 

 

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐