弱口令漏洞和HTTP报头追踪

1.0.0 弱口令漏洞

弱口令漏洞是Web基本漏洞,原理不多说,就是猜账号密码,当网站:

  • 没有人机验证验证码
  • 没有登录错误限制
  • 账密传输没有加密或加密非常简单

我们可以尝试进行爆破,为了提高爆破准确度,还可以通过社工定制字典

1.1.0 HTTP报头追踪

1.1.1 简介

HTTP报头,也就是HOST头,从HTTP/1.1开始,HOST头就是一个必须的头,当我们访问网站时必须携带这个参数

HOST头的作用是判断访问的后端组件

我们最常见的CDN服务也是类似这种原理

1.1.2 利用

判断服务器是否检测HOST值

首先我们抓包,并修改HOST值,查看页面是否会报错

报错,说明服务器检测了HOST值,但是尚不知是否利用了HOST值

判断服务器是否利用了HOST

1.1.3 常见漏洞

(1)密码重置投毒

一个重设密码(忘记密码)功能的大致流程如下:

1. 用户输入其用户名或电子邮件地址,然后提交密码重置请求。
2. 该网站检查该用户是否存在,然后生成一个临时的、唯一的、复杂的令牌,该令牌与后端的用户帐户相关联。
3. 该网站向用户发送一封电子邮件,其中包含用于重置其密码的链接。重置令牌的参数包含在相应的URL中:

https://normal-website.com/reset?token=0a1b2c3d4e5f6g7h8i9j

4. 当用户访问此URL时,网站将检查提供的令牌是否有效,并使用它来确定要重置哪个帐户。如果一切都符合,则可以进入用户重置密码步骤。最后,令牌被销毁。

这个流程主要是利用了用户的邮箱内容只有本人得知这个特性来保证安全,但是如果后端的重置链接完全是依靠HOST来生成,那么就会有以下流程

  1. 攻击者获取受害者的用户名或者电子邮件,作为提交重置密码的请求,攻击者会拦截请求并修改HTTP Host头为其指定的域,如evil-user.net
  2. 受害者会收到一封重置密码的邮件,但由于攻击者修改了Host头,而web程序生成重置链接又完全依赖于Host头,导致生成以下URL:

https://evil-user.net/reset?token=0a1b2c3d4e5f6g7h8i9j

  1. 如果受害者点击了该链接,重置密码的令牌就会发送到攻击者的服务器 evil-user.net 上
  2. 当攻击者获取到重置密码的令牌之后,就会进行相应的构造访问真实重置密码的URL进行密码重置。

例1 基础密码重置投毒

首先输入受害者的用户名来重置密码

然后发送时抓包,并修改HOST头

那么?token参数就会拼接到HOST名称上并以GET方式发送到我们服务器,我们再把token拼接上正确域名,我们就可以重置受害者密码了

例2 使用覆盖Host头的字段

当修改Host头、添加重复Host头的值以及混淆Host头都不行的时候,使用正确的HOST加上能够覆盖HOST的字段,如

X-Forwarded-Host,X-Forwarded-For,X-Forwarded-Server,X-HTTP-Host-Override,Forwarded等

那么覆盖之后流程就和例1相同

例3 使用Dangling markup技术

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇