用户
搜索
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 18 天

    连续签到: 5 天

    [LV.4]经常看看II

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    0

    主题

    7

    帖子

    244

    魔法币
    收听
    0
    粉丝
    0
    注册时间
    2018-6-2

    i春秋签约作者

    发表于 2020-7-22 14:33:09 82885
    本帖最后由 dll_s 于 2020-7-22 16:56 编辑

    0x01 多因素身份验证漏洞


    相较于以往常见的单因素如账号密码登录模式,使用双因素验证登录似乎更为安全,但由于其受攻击面的拓展,由于程序员自身考虑不周所造成的任何一种糟糕实现往往会增加新的安全问题,容易出现的问题就是在第二次验证时并不确认用户是否已经通过初次验证。光听原理可能感觉比较枯燥,还是通过实验来感受多因素身份验证会存在怎样的漏洞。

    2FA:2 Factor Authentication,双因子验证,是一种安全密码验证方式,比较常见的即为在登陆时除了验证密码外还要输入手机接收到的验证码登录,还有一些银行安全u盘也属于这个范畴。

    实验内容

    本次实验学习内容:

    • 多因素身份验证中容易出现的漏洞
    • Burpsuite扩展插件的安装及使用
    • Burpsuite自定义宏

    实验一: 绕过简单双因素验证机制

    img

    首先配置好burpsuite监听代理,使用实验给出的第一个账号登录

    发现需要输入验证码,点击上方的Email client查看收到的验证码并输入,成功登录,查看My account

    Burpsiute中已经记录下了这一系列访问请求,我们对其进行筛选,去掉无关的信息

    img

    对每一个请求与响应报文进行分析,可以看到在/my-account?id这一请求中,id参数存在被利用的可能

    使用第二个账号登录,然后直接更改id为用户名访问My account界面,成功

    img

    该实验原理为后台程序并未验证用户是否成功通过二次身份验证导致的漏洞利用

    实验二:存在缺陷的双因素验证逻辑

    同样配置好代理后,我们使用账号进行登录,可以观察到这样的通信流量

    img

    可以看到GET /login2中的cookie头部字段中的verify参数存在利用的可能
    img

    将其替换为carlos,使用Intruder模块进行爆破,使用的配置如图所示
    img

    出现302状态码即为正确的验证码,使用show response in browser 复制url到浏览器中访问
    img

    成功以carlos身份登录,访问My account完成实验

    该实验原理为后台程序未验证用户是否通过初次身份验证导致的漏洞利用

    实验三:爆破2FA验证码

    此实验等级为EXPERT(专家级),属于实验当中最高的等级,涉及到了对Burpsuite中宏的配置,但整个实验原理以及过程并不是非常困难。实验给了我们一个登录凭据,需要做的就是对验证码进行爆破。
    img
    在实验开始之前,介绍一下Burpsuite另一强大的插件扩展功能,使用插件可以进一步提升BP在实战渗透中的能力。本来在初次实验中我使用的版本是Burpsuite1.6,结果在进行这一实验时出现了奇怪的错误,定义的宏无法使用,因此想到了安装Logger++插件以查看具体的日志信息方便排错(虽然后来还是切换到了2020.4版本)。

    关于一些推荐插件以及安装介绍在网络上已经有很多相关介绍,这里就不再复述了,列举了一些之前搜集到的相关信息

    使用账号登录后,跳转到了验证码输入页面,尝试两次输入后会发现自动跳转到login2中的登录界面,需要重新进行登录操作,通信信息如图所示

    img

    可以观察到,我们在提交验证码之前只需重新执行GET /login → POST /login → GET /login2这个过程,即可刷新页面csrf字段以及cookie字段以重新提交验证码

    点击Project Options,切换到Sessions选项卡

    img

    点击Add添加新的会话处理规则,在弹出的窗口中选择Add Run a macro添加宏
    img

    之后再点击Add,选择通信流并确认(使用Test macro可测试宏是否正常运行)
    img

    配置完成后回到最早的窗口,点击Scope,在URL Scope中选择Include all URLs并确认

    以上是整个宏配置过程,之后在Intruder模块中BP在每次爆破前就会运行这段宏

    之后将POST /login2发送到Intruder进行配置,配置内容与上个实验相同,唯一需要注意的是需要将爆破线程修改为1,否则会出现session与csrf字段错乱的问题,因此这一爆破进程也会非常缓慢

    从Logger++扩展中的通信信息可以看到,宏已经正常运行

    img

    爆破成功后同样将结果show response in browser,成功登录后访问My account完成实验

    img

    总结


    整个实验考察了很多对通信流程的掌握,要学会利用BP中的Proxy History查看通信流程并思考其中可能存在的问题

    另外,这两天出现了BP学院中实验Solution无法查看的问题,已经有人在论坛上进行了反馈

    img

    发表于 2020-7-22 15:05:20
    眼睛:会了,脑子:不,你不会
    使用道具 举报 回复
    大佬带带我
    使用道具 举报 回复
    发表于 2020-7-22 15:06:10
    玩得开心~~~
    使用道具 举报 回复
    发表于 2020-7-22 17:40:44
    我来康康
    使用道具 举报 回复
    发表于 2020-7-23 16:03:10
    总算等来了第二篇~
    使用道具 举报 回复
    发表于 2020-7-23 17:11:43
    老哥带带我
    使用道具 举报 回复
    发表于 2020-7-25 13:35:21
    第二篇Mark下~
    使用道具 举报 回复
    希望可以持续更新,日更吧,哈哈哈
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册