我很喜欢今天的看到的write-up,因为作者是针对他对一个网站整体进行漏洞挖掘的过程写的,内容包括几个不同的漏洞,从中能够学习到怎样系统性的挖掘漏洞。

write-up地址[Bug bounty | mail.ru] Access to the admin panel of the partner site and data disclosure of 2 million users


从文中可以看到作者从3000+个mail.ru的子域名中,按顺序一个个进行漏洞挖掘。

1. Improper authentication

这个漏洞存在于redacted_shop.mail.ru子域名,由于本人比较菜,老实说这样的漏洞我即使看到了都不会意识到这是一个漏洞。

在对一个子域名进行检查时,首先进行的是个人账户的功能性检查。然后作者发现该网站登录的验证方式包括邮箱验证,而在提交验证码时,有一个链接会同时被提交redacted_shop.mail.ru/?login=hV8oUH,实现了自动登录的功能。而这一功能就是一个漏洞,一方面攻击者可以进行暴力破解,另一方面这样的链接可能会被搜索引擎索引。

2. Blind XSS

检查登录功能后,作者又进行了目录爆破(使用dirb工具),然后开始检查修改用户数据部分的功能性,csrf,xss......并没有什么发现。最终作者在个人数据,配送地址,订单的评论部分都添加了自己的js payload,然后奇迹就发生了,凌晨的时候作者发现自己的blind xss script在管理员平台被执行了(这里应该是用盲打平台,我也是前段时间才知道的这种工具,所以不是特别熟悉),获得了cookie,并成功登录了管理员账户(o(╯□╰)o)

3. 其他的一些漏洞

后面作者又提到了几个漏洞,但是由于还没有修复,细节并没有透露。

①从手机端绕过双重验证

②管理员平台的blind xss

③由于自动登录,匿名用户在访问某子域名时是自动登录,且订阅区域会自动替换他的邮箱地址,该子域名存在一个stored xss,攻击者可以由此获得用户的邮箱地址,匿名性无效。

④一个手机验证码爆破的漏洞

⑤某子域名上的文章图片中泄露了用户的邮箱地址


这篇write-up首先很好的示例了如何对一个网站进行系统的漏洞挖掘。其次,登录验证部分的漏洞看起来很简单(实际上确实很小,没有reward),但是仍旧值得注意。

1. 在对漏洞进行挖掘时,要善于使用一些已经存在的工具协助挖掘(例如作者用到的dirb)

2. 在一切可能的地方插入自己的js payload,使用盲打平台。

3. 测试时切记,不要破坏网站的功能性,否则后果很严重!!尤其是blind xss,由于无法看到返回结果,很容易对网站的功能造成破坏,关闭标签

4. 作者提到了一个在过滤<>时的payload:

 “; alert (1); //

【10.14】Bug Bounty Write-up总结的更多相关文章

  1. 【10.13】Bug Bounty Write-up 总结

    今天惯例邮箱收到了Twitter的邮件提醒有新的post,这种邮件每天都能收到几封,正好看到一个Bug Bounty的write up,比较感兴趣,看起来也在我的理解范围之内,这里对这篇write u ...

  2. Bug Bounty Reference

    https://github.com/ngalongc/bug-bounty-reference/blob/master/README.md#remote-code-execution Bug Bou ...

  3. 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画

    [源码下载] 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 线性动画 - ColorAnimatio ...

  4. Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置

    Thinkpad W520 + Ubuntu 12.04LTS, 13.10, 14.04LTS安装Nvidia显卡驱动设置 http://henzhai.com/tech/2012/07/w520- ...

  5. macOS 10.14虚拟机安装教程

    windows10下安装vmware14.0以及macOS 10.14图文详解 工具/原料   windows10 vmware 14.0 macOS 10.14懒人版 mac补丁unlocker工具 ...

  6. OS + macOS Mojave 10.14.4 / sushi / ssh-keygen / ssh-copy-id

    s 系统版本: macOS 10.14.4 (18E226) 内核版本: Darwin 18.5.0 型号名称: Mac mini 2014 型号标识符: Macmini7,1 处理器名称: Inte ...

  7. VMware15安装MAC(MAC OS 10.13)(OS X 10.14)原版可升级最新可解锁macOS Unlocker3.0(OS X 10.13)

      目录树 1.1.2安装环境: 1.1.3所需资源: 1.1.4 Unlocker 3.0解锁 1.1.5 配置环境 1.1.6开始安装 1.1.7开启虚拟机进入MAC安装界面 1.1.8 macO ...

  8. APPLE-SA-2019-3-25-2 macOS Mojave 10.14.4,Security Update 2019-002 High Sierra, Security Update 2019-002 Sierra

    APPLE-SA-2019-3-25-2 macOS Mojave 10.14.4, Security Update2019-002 High Sierra, Security Update 2019 ...

  9. VMWare 14.1 15 Pro 安装 macOS Mojave 10.14.1系统 遇到的问题解决方案

    安装环境 WIN10VMware Workstation Pro 15.0.0 Build 10134415工具准备1.VMware Workstation Pro 15.0.0 Build 1013 ...

随机推荐

  1. log4j配置详解(非常详细)

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  2. 使用 Azure 门户创建 Linux 虚拟机

    可以通过 Azure 门户创建 Azure 虚拟机. 此方法提供一个基于浏览器的用户界面,用于创建和配置虚拟机和所有相关的资源. 本快速入门介绍了如何创建虚拟机并在 VM 上安装 webserver. ...

  3. [翻译] CoreImage-with-EAGLContext

    CoreImage-with-EAGLContext https://github.com/anaglik/CoreImage-with-EAGLContext Simple example of d ...

  4. Python初学者第二十二天 函数进阶(1)

    22day 1.函数命名空间: 2.函数作用域的查找顺序:LEGB locals->enclosing function ->globals ->_builtins_ a.local ...

  5. 面向对象课程 - 寒假第三次作业 - C++计算器项目初始部分

    C++计算器项目初始部分 零.项目源文件地址 传送门:calculator 一.项目信息相关: 项目:Calculator 版本:1.0 日期:2016.2.16 实现: 基本的操作界面 对四则运算表 ...

  6. Spring MVC Interceptor

    1 在spring-servlet.xml中进行如下配置 <mvc:interceptors> <mvc:interceptor> <mvc:mapping path=& ...

  7. mongodb的学习-1-NoSQL

    菜鸟教程的学习笔记-http://www.runoob.com/mongodb/nosql.html 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有 ...

  8. python matplotlib quiver——画箭头、风场

    理解参考:https://blog.csdn.net/liuchengzimozigreat/article/details/84566650 以下实例 import numpy as np impo ...

  9. VC++中出现stack overflow错误时修改VC++的默认堆栈大小

    VC++中,在栈空间上申请存储的结构体或者类对象的数组空间时,如果数组长度过大,造成申请的栈空间超过或者逼近1MB时,程序可以编译通过,但是不能够执行起来.打到调试模式时会弹出如下图所示的栈空间越界错 ...

  10. java 输出流 outputstream

    一:输入和输出概念 输入流(inputstream):对于java程序来说,从程序写入文件叫做输出. 输出流(outputstream):对于java程序来说,从文件读取数据,到java程序叫做输入. ...