Open Redirect漏洞除了拿来钓鱼,还有呢?
Open Redirect常常是被Web开发者忽视的漏洞,这让攻击者可以驱使一般正常使用者在浏览网站时,将他们从一个正常网站中重定向到另一个Web Service,而这个Web Service就很有可能是恶意的。
这个漏洞常常被忽视的原因是,常常被认为是网路钓鱼、网路诈骗、和其他社交工程手法相关的攻击手段。但事实上,Open Redirect漏洞可以做的远远不仅限於网路钓鱼,它可以和其他的攻击手法(Attack Vector)结合,相互利用,例如SSRF、XSS、帐户接管等等。
以下是一些HTTP Redirection的Status Code
一个简单的范例如下:
reurl.php
$redirect_url = $_GET['url'];
header("Location: " . $redirect_url);
这让用户可以用url的input重定向到另一个url,一般网路钓鱼的手法是,将url的input输入自己架设的恶意web service,如:
http://example.com/reurl.php?url=http://attacker.com
并将此串发送给受害者,或是搭配CSRF一起利用。
除此之外,跟其他的攻击手法结合,可以扩大它的攻击面,另外,虽然有一些防御策略可以使用,例如对可能导致重定向的参数进行检查或设置filter,但仍存在许多bypass的方法,如:
%0d%0a
java%0d%0ascript:alert("XSS")
//
http://example.com/reurl.php?url=//attacker.com
//
http://example.com/reurl.php?url=http:attacker.com
\/
http://example.com/reurl.php?url=\/attacker.com
http://example.com/reurl.php?url=//attacker%00.com
@
http://example.com/[email protected]
XSS
在Open Redirect漏洞中,还可能允许攻击者调用非HTTP Protocol的行为,这就允许使用javascript:
Protocol的基於DOM的重定向,这就可能触发XSS,导致任意的Javascript程序执行,例如:
http://example.com/reurl.php?url=javascript:alert("XSS")
SSRF
利用SSRF漏洞,攻击者可以轻易越过/取得防火墙或filter後面的内部内容,当需要bypass这些防护措施时,就可以利用Open Redirect重定向到domain中的内容。详细利用可以参考下方的Case Study
Open Redirect on central.uber.com allows for account takeover [严重性:高]
Twitter lite(Android): Vulnerable to local file steal, Javascript injection, Open redirect [严重性:高]
[dev.twitter.com] XSS and Open Redirect Protection Bypass [严重性:中]
>>: Leetcode: 98. Validate Binary Search Tree
C# 类别 class 定义的类型是参考型别, 在运行时当你声明一个参考类别变数, 此变数会包含 n...
<ul> <li>1</li> <li>2<...
网页中的<script> 基本上,JavaScript透过控制DOM来控制网页。若要在网...
TemplateSendMessage - CarouselTemplate carousel_te...
前言 这篇文章将会介绍 React Hooks,Hook 是 React 16.8 中增加的新功能。...