SRC挖掘---web开放重定向漏洞-2day

在本章中,我们将学习开放重定向漏洞,不是很深入因为需要与其他漏洞结合起来使用,我们这里先做了解。

开放式重定向漏洞使攻击者能够强制 Web 应用程序重定向到攻击者选择的 URL

什么是开放重定向漏洞?

当 Web 应用程序接受不受信任的输入时,可能会发生未经验证的重定向和转发,这可能导致 Web 应用程序将请求重定向到包含在不受信任的输入中的 URL。通过修改恶意站点的不受信任的 URL 输入,攻击者可能会成功发起网络钓鱼诈骗并窃取用户凭据。

一个示例 HTTP 请求可能如下所示:

GET /video?redirectURL=youtube.com%2Fwatch%3Fv%3D_PhqZ2mmzlY HTTP/1.1

Host: example.com

An attacker could now try to exchange the intended URL with a URL of his choice.

GET /video?redirectURL=attacker.com%2Fhacked HTTP/1.1

Host: example.com

    如果应用程序盲目地遵循攻击者插入的 URL,那么它很容易出现未经验证的打开重定向。然而,这本身并不是一个漏洞。开放式重定向通常用于漏洞链。

如何链接和利用开放重定向?

回答这个问题,我们首先必须查看不同的重定向“变体”:

  • Javascript 重定向(例如window.location)
    • 在客户端重定向中,攻击者可能会尝试插入 Javascript 有效负载,从而可能导致 XSS(例如javascript:alert(document.cookie))
  • 响应头( Location: )
  • oAuth:攻击者可以尝试操纵redirect_uri参数以窃取登录期间获得的 oAuth 访问令牌,例如通过 Facebook 作为第 3 方身份提供者。
  • SSRF:攻击者可以尝试通过依赖开放重定向来绕过 SSRF 控制以获取对内部域的访问权限。

也许您只应该能够重定向到特定域,但是否绕过过滤器?也许该值根本不是来自 URL 参数,而是完全不同的东西。

在解释开放重定向的影响时,通常默认为网络钓鱼或类似攻击。使用开放重定向进行网络钓鱼是否真的是一个问题是一个值得商榷的问题。如果收到一个链接,然后将您重定向到一个粗略的站点,与直接接收到粗略站点的链接相比,它的可信度高多少?

虽然有些公司确实认为这是一个合法的风险,但其他公司却不这么认为。

然而,网络钓鱼并不是开放重定向的全部好处。开放重定向通常很快就会被忽略,因为网络钓鱼是您首先想到的,而没有考虑它实际上可以结合什么。

对于oauth,ssrf的利用以后会写出来,这是一个比较鸡肋的漏洞,但是联合其他漏洞可以获得更高的赏金,看到xss真的是痛,js希望有空可以学一学,百炼成钢,加油。

常用注射参数

/{payload}
?next={payload}
?url={payload}
?target={payload}
?rurl={payload}
?dest={payload}
?destination={payload}
?redir={payload}
?redirect_uri={payload}
?redirect_url={payload}
?redirect={payload}
/redirect/{payload}
/cgi-bin/redirect.cgi?{payload}
/out/{payload}
/out?{payload}
?view={payload}
/login?to={payload}
?image_url={payload}
?go={payload}
?return={payload}
?returnTo={payload}
?return_to={payload}
?checkout_url={payload}
?continue={payload}
?return_path={payload}
success=https://c1h2e1.github.io
data=https://c1h2e1.github.io
qurl=https://c1h2e1.github.io
login=https://c1h2e1.github.io
logout=https://c1h2e1.github.io
ext=https://c1h2e1.github.io
clickurl=https://c1h2e1.github.io
goto=https://c1h2e1.github.io
rit_url=https://c1h2e1.github.io
forward_url=https://c1h2e1.github.io
@https://c1h2e1.github.io
forward=https://c1h2e1.github.io
pic=https://c1h2e1.github.io
callback_url=https://c1h2e1.github.io
jump=https://c1h2e1.github.io
jump_url=https://c1h2e1.github.io
click?u=https://c1h2e1.github.io
originUrl=https://c1h2e1.github.io
origin=https://c1h2e1.github.io
Url=https://c1h2e1.github.io
desturl=https://c1h2e1.github.io
u=https://c1h2e1.github.io
page=https://c1h2e1.github.io
u1=https://c1h2e1.github.io
action=https://c1h2e1.github.io
action_url=https://c1h2e1.github.io
Redirect=https://c1h2e1.github.io
sp_url=https://c1h2e1.github.io
service=https://c1h2e1.github.io
recurl=https://c1h2e1.github.io
j?url=https://c1h2e1.github.io
url=//https://c1h2e1.github.io
uri=https://c1h2e1.github.io
u=https://c1h2e1.github.io
allinurl:https://c1h2e1.github.io
q=https://c1h2e1.github.io
link=https://c1h2e1.github.io
src=https://c1h2e1.github.io
tc?src=https://c1h2e1.github.io
linkAddress=https://c1h2e1.github.io
location=https://c1h2e1.github.io
burl=https://c1h2e1.github.io
request=https://c1h2e1.github.io
backurl=https://c1h2e1.github.io
RedirectUrl=https://c1h2e1.github.io
Redirect=https://c1h2e1.github.io
ReturnUrl=https://c1h2e1.github.io

你可能感兴趣的:(src挖掘学习系列,web安全)