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

推荐订阅源

G
Google Developers Blog
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Securelist
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 热门话题
博客园 - 三生石上(FineUI控件)
T
Threatpost
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
P
Palo Alto Networks Blog
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
Cyberwarzone
Cyberwarzone
腾讯CDC
L
LangChain Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
T
Tor Project blog
AWS News Blog
AWS News Blog
T
Tenable Blog
NISL@THU
NISL@THU
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
MyScale Blog
MyScale Blog
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
美团技术团队
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog

陈少文的网站

巨变与机遇的未来十年 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) 使用 Velero 备份 Kubernetes 集群 Kubernetes Cheat Sheet 开发 Tips(18) 如何构建一个 Java 工程 开发 Tips(17) KubeSpray 安装 Kubernetes 报错 ip in ansible_all_ipv4_addresses 基于 Kubernetes 和 Jenkins 搭建自动化测试系统 在 Kubernetes 上动态创建 Jenkins Slave 使用 Jenkins 进行服务拨测 开发 Tips(16) Kubernetes 签发 Ingress 证书及日常故障运维 Kubernetes 中 Deployment 的基本操作 Kubernetes 中的证书 如何使用 KubeBuilder 开发一个 Operator Kubernetes 1.6.0 安装问题汇总 镜像管理工具 -- Harbor 开发 Tips(15) Docker 如何拉取镜像 开发 Tips(14) 使用 Helm 安装 harbor 开发 Tips(13) 使用 S2I 构建云原生应用 在 Kubernetes 中使用 emptyDir、hostPath、localVolume 开发 Tips(12) 开发 Tips(11) 代码质量分析工具 SonarQube 使用 Kubeadm 安装 Kubernetes 集群 一起来学 Go --(4)常用函数 Kubernetes 中的 Ceph Kubernetes 之 Volumes Kubernetes 之 Labels、Selectors 开发 Tips(10) 开源正在重构商业模式 Kubernetes 之网络 Kubernetes 之 API 使用 Helm 和 Operator 快速部署 Prometheus Kubernetes 复杂有状态应用管理框架 -- Operator Kubernetes 的包管理器 -- Helm 一起来学 Go --(3)Go Modules 如何一步一步地优化博客方案 kubectl 实用指南 Kubernetes 中的基本概念 搭建远程 Kubernetes 开发环境 大公司和小公司的 ToB 思路 开发 Tips(9) Go 入门指南 一起来学 Go --(2)数据与逻辑结构 如何预防 Web 富文本中的 XSS 攻击 django-xss-cleaner 云工作时代 一起来学 Go --(1)背景与特点 SaaS 开发团队的不同阶段 你不知道的 Git 使用技巧 输出既服务 微服务设计 继续奔跑 开发 Tips(8) 从账户安全到二次验证 Django 性能之数据库查询优化 Django 性能之分库分表 敏捷开发之研发流程 打造一致性的团队 开发 Tips(7) Pytest 进阶学习之 Mock PaaS 部署之 buildpack Go 开发配置 领域输出才是 PaaS 的核心竞争力 Pytest 入门学习 开发 Tips(6) 如何使用 Jenkins、Docker、GitLab 搭建 Django 自动化部署流程
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】,释放修改后的请求,等待服务器返回结果

微信公众号