大家好,我是@dhakal_ananda,来自尼泊尔,这是我在Hackerone上参加的雷蛇漏洞悬赏项目的一部分。一开始这个漏洞悬赏项目是一个非公开项目,我接到邀请后并没有参加;后来它变成了公开项目,我反而对它起了兴趣。

在挖掘漏洞时,我更喜欢绕过各种安全功能(例如二次验证),而不是挖掘普通的XSS和SQL漏洞,于是我很快开始尝试绕过动态密码,因为它在你每次执行敏感操作时都会出现。

在进行了几次测试后,我发现目标应用会使用一个很长的令牌来标记是否输入了动态密码。只有输入有效的动态密码,才提供令牌。

那么我们能做些什么来绕过动态密码亦或是令牌的限制呢?我很快就想到,不同用户之间的令牌是否能通用?于是我进行了简单的尝试,发现确实有效。

复现步骤

  1. 登录攻击者的账户

  2. 转到[https://razerid.razer.com/account](https://razerid.razer.com/account),修改电子邮件地址

  3. 你将看到弹出一个对话框,提示需要输入动态密码

  4. 输入有效动态密码,再用BurpSuite拦截住更改电子邮件的最后请求

  5. 将请求发送到BurpSuite的Repeater中

  6. 此时登录受害者帐户(假设你有受害者帐户密码)

  7. 更改名称,拦截住相关请求

  8. 复制请求中的user_iduser_token,将其保存到文件中

  9. 转到BurpSuite拦截的攻击帐户更改电子邮件的请求中,将该请求中的user_iduser_token替换为受害者帐户的user_iduser_tokenuser_token和动态密码产生的令牌并不一样)

  10. 最后提交修改后的请求,查看受害者帐户绑定的电子邮件地址是否为攻击者所控制的电子邮件地址。

POST /api/emily/7/user-security/post HTTP/1.1
Host: razerid.razer.com
Connection: close
Content-Length: 260
Accept: application/json, text/plain, */*
Origin: https://razerid.razer.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
DNT: 1
Sec-Fetch-Mode: cors
Content-Type: application/json;charset=UTF-8
Sec-Fetch-Site: same-origin
Referer: https://razerid.razer.com/account/email
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: ...
{"data":"<COP><User><ID>user_id</ID><Token>user_token</Token><OTPToken>otp_token_value_here</OTPToken><login><email>attacker-email@example.com</email><method>add</method><primary>1</primary></login></User><ServiceCode>0060</ServiceCode></COP>"}

需要说明的是,在和雷蛇官网交互的过程中,和身份验证有关的有三个字段,它分别为user_iduser_tokenOTP_token。其中OTP_token只有在输入动态密码的情况下才能获得。而雷蛇网站缺乏对令牌OTP_token的身份控制,只是验证了其有效性,导致所有的帐户都能利用同一个帐户的OTP_token绕过动态密码验证。

我把报告写的很详细,提交给雷蛇,但雷蛇的审核人员居然认为这个漏洞需要物理接触受害者的机器才能进行?

在经过长时间的扯皮后,雷蛇表示,他们提供一个测试帐号,如果我能更改帐号绑定的电子邮件地址,就认同我的漏洞。

很快,我就把这个帐号和我的电子邮件地址绑定在一起。雷蛇最后也给了我1000美元的漏洞奖励。

在这次经历后,我又找到了另一个动态密码绕过漏洞,在雷蛇修复后将会对外公开。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3056.html
来源:https://medium.com/@anandadhakal13/how-i-was-able-to-bypass-otp-token-requirement-in-razer-the-story-of-a-critical-bug-fc63a94ad572

绕过雷蛇官网的动态验证码相关推荐

  1. kaggle竞赛官网注册邮箱验证码收不到

    写在前面:需要挂个代理 问题描述:使用的QQ邮箱,登录没收到邮件信息 解决方法:到邮箱的垃圾箱中查看,即可发现验证码信息-->输入验证码,注册成功

  2. 实现北大官网首页的动态图标

    逛网站的时候,看见有人在问如何实现北大官网的动态图标,因为做过类似的东西,所以想把这个方法整理下来. 点上去会有一个小动画的那种. 如何实现该图标的动态效果 一句话:用svg实现图标,利用stroke ...

  3. 业务展示类网站高保真原型模板库、企业品牌官网、公司业务介绍、产品展示及营销、首页模板、内页模板、单页模板、整站模板、导航、轮播、横幅、列表、客户、案例、页脚、动态面板、母版、页面事件、窗口函数

    本作品是一套专为业务展示类网站而推出的原型模板库,适用于制作企业品牌官网.公司业务介绍.产品展示及营销等各类网站.作品中包含了符合目前主流展示类网站设计风格的丰富模板及素材,并以UI设计稿级别的高保真 ...

  4. Axure企业官网通用模板web端+公司官网通用模板web端高保真原型+服务企业门户官网+加入我们+在线招聘+企业宣传+新闻动态+企业理念+产品与服务+公司通用版官方电脑端门户网站

    作品介绍:Axure企业官网通用模板web端+公司官网通用模板web端高保真原型+服务企业门户官网+加入我们+在线招聘+企业宣传+新闻动态+企业理念+产品与服务+公司通用版官方电脑端门户网站 原型演示 ...

  5. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片...

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  6. Axure 9 实战案例,动态面板的应用 5,官网首页自动轮播广告

    前言 Hello!欢迎来到Axure 9 实战案例教程专栏.点击了解课程简介>> 动态面板在Axure原型设计中,可以说是应用最广泛的:本次课程我们继续来学习一下,动态面板的应用:本篇我们 ...

  7. 【2019.06.22】12306官网模拟登陆之验证码生成与验证初探

    前言 每一个学习过爬虫的人对12306肯定都是有点想法,但在每年春节或一些假期经历过12306官网抢票后,这些念头便逐渐不剩下多少了.有时候真的是活生生的人都瞅不出来 一直没有勇气去分析一下12306 ...

  8. 最新超炫酷的动态引导页官网HTML源码

    正文: 最新超炫酷的动态引导页官网HTML源码,背景是动态的,非常炫酷,有兴趣的自行去体验吧,其它就没什么好介绍的了. 程序: wwxegu.lanzoui.com/iOt9B0h05iof 图片:

  9. Minecraft 官网谷歌验证码的解决方案(reCaptcha)

    Minecraft 官网谷歌验证码的解决方案(reCaptcha) 前言 最近 minecraft 的官一自胡尘入汉关,十年伊洛路漫漫.网启用了 recaptcha (一种验证码,隶属于 Google ...

最新文章

  1. Error:java: 错误: 不支持发行版本 14
  2. Android 对象型数据库 db4o
  3. Mining of Massive Dataset----PageRank的两种问题spider traps和dead ends
  4. 深入理解 Java 内存模型 JMM
  5. wxWidgets:wxAnyValueType类用法
  6. php post请求跳转,学习猿地-php如何实现post跳转
  7. mysql seconds_behind_master_MySQL中的seconds_behind_master的理解
  8. Python导函数的一些相关
  9. php实用小技巧【持续更新】
  10. awg线径与电流_AWG电流线径对照表
  11. zabbix3.2短信告警脚本
  12. (2016.12.02更新)CnCrypt文件保险柜1.18,兼容TrueCrypt加密卷,单文件绿色版
  13. 程序猿---北京骑行天津~~~~
  14. 毕业论文ppt的研究方法及过程计算机专业,毕业论文答辩ppt(要求和制作技巧)...
  15. [daily][device] linux添加打印机
  16. 高清液晶触控一体机整合传播,优势明显
  17. PyTorch 和 TensorFlow的区别
  18. 飞腾arm服务器下的银河麒麟V10 yum 安装docker
  19. IntelliJ IDEA 2018版本操作总结(长期更新)
  20. 极大似然估计原理详细说明

热门文章

  1. TEE OS中断篇(五):FIQ的事件处理
  2. CloudTorrent 磁链下载 docker版本安装 nginx配置
  3. 机械臂-运动轨迹(简单整理)
  4. java 正则表达式只有中文汉字英文数字
  5. 电气专业能往计算机调剂吗,没上线不用愁!这六所院校接受电气工程专业调剂...
  6. 如何避免碎片化知识的危害
  7. 显示需要使用新应用打开此ms-windows-store链接的解决办法
  8. linux进程创建 摘要,文章摘要 lnmp的搭建
  9. lesson5-week2
  10. js判断PC端或是移动端