惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
V
V2EX
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志

陈少文的网站

巨变与机遇的未来十年 Kubernetes 平台管理软件压力测试方案 使用镜像部署 Hexo 静态页面 终于等到你 - GitHub 镜像仓库服务(ghcr.io) 一起来学 Go --(6)Interface 一起来学 Go --(5)Goroutine 和 Channel 什么是函数式编程 如何在 Kubernetes 集群集成 Kata 柯里化与偏函数 使用 PyGithub 自动创建 Label 软件产品是团队能力的输出 Helm 2 、Helm 3 比较 IoT 变现 Kubernetes 中的 DNS 服务 国内的 Helm 镜像源 Harbor 使用自签证书支持 Https 访问 DevOps 工具链之 Prow 如何使用 kfctl 安装 Kubeflow VS Code 无法下载 Go 插件的工具包 工程师更应具有服务精神 你不知道的 Docker 使用技巧 使用 Docker 运行 Tensorflow 论中国 什么是左移 如何清空 Git 仓库全部历史记录 一禅小和尚 有风吹过厨房 时间的玫瑰 如何在 CentOS 安装 GPU 驱动 开发 Tips(19)
Burpsuite 实践与 Web 越权攻击
微信公众号 · 2016-12-17 · via 陈少文的网站

Please enable Javascript to view the contents

1. Burpsuite简介

Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。
所有的工具都共享一个能处理并显示HTTP 消息、持久性、认证、代理、日志、警报的一个强大的可扩展的框架。

  • Proxy——是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
  • Spider——是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
  • Scanner[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。
  • Intruder——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
  • Repeater——是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。
  • Sequencer——是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
  • Decoder——是一个进行手动执行或对应用程序数据者智能解码编码的工具。
  • Comparer——是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。

2. Burpsuite配置

由于Burpsuite基于java开发,运行时需要jre。在Oracle下载安装jdk安装后,还需要添加环境变量。

1
2
3
JAVA_HOME   C:\Program Files\Java\jdk1.8.0_111(替换为自己的安装目录)
PATH    ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

Burpsuite官方地址,下载到本地之后,可以直接运行。
依次使用默认配置选项,【Temporary project】-> 【Use Burp defaults]。进入如下界面:

点击【Proxy】-> [Options]可以查看到Burp提供的代理接口,默认为127.0.0.1:8080

burp的原理是通过充当客户端与服务器直接的代理,实现对连接的修改和控制。所以,在本地进行调试是需要在浏览器中设置代理,用以实现对连接请求的修改。如果是使用Chrome浏览器,那么直接安装switchyomega插件,如果是FireFox,可以使用FoxyProxy插件。如果是IE,可以直接使用127.0.0.1:800作为代理,使用插件的目的只是为了能够方便的切换代理。

在switchyomega中【新建场景模式】,设置http代理,代理服务器127.0.0.1,端口8080。
然后访问,http://burp/,点击下载CA Certificate,将证书安装在【受信任的根证书颁发机构】。如果不安装burp提供的证书,是使用burp代理访问https请求是会出现【您的链接不安全】字样。从这里可以看出,https连接能够抵御中间人攻击。安装之后,在证书里面查看,能够找到PortSwigger这个证书。

3. Burpsuite 使用

3.1 越权的原理

越权描述的是对没有授权的业务进行访问和操作。如上图,人员A只对a业务有权限,人员B只对b业务有权限,如果通过某种方式人员A访问了b业务,那么就判定为越权。这里有一个前置条件就是人员A、B都能够通过平台的验证系统,只是业务上存在隔离。如果不刻意验证权限,一般情况下通过一定的工具修改请求的参数,是很容易进行越权操作的。

由于发起请求时,平台验证的tokenID等信息会一同发送,并通过平台的验证系统,而越权访问业务直接通过修改url路由和请求参数即可完成。

3.2 Burpsuite 实践

  1. 首先需要将浏览器代理切换到 burp
  2. 在 BurpSuite 中依次打开【proxy】-> 【intercept】->【intercept is on】
  3. 浏览器访问 URL
  4. BurpSuite 将请求拦截下来,修改请求头。
    这里的/api/posts/20045768/contributed 就是访问的路由,可以看到路由中有20045768,通常是文章的ID编号,通过修改这个编号,来访问其他文章的内容。

还有一部分是 cookie 中个人的登录信息,如果其他人拿到了你的这部分信息,就可以通过这部分的信息来伪造登录。

在【Params】分页中,可以随意的修改请求参数


  1. 【Forward】,释放修改后的请求,等待服务器返回结果

微信公众号