【burpsuite】核心使用方法
目录
一、Burp Suite
简介:
二、Proxy模块设置代理
三、Repeater重放模块
四、Intruder暴力破解模块
简介:
设置攻击目标:
设置方法与攻击位置:
(1)Sniper型
(2)Battering ram型
(3)Pitchfork型
(4)Cluster bomb型
Payload标签页
Options标签页
五、Decoder解码模块
六、Comparer比较模块
七、工程选项
一、Burp Suite
简介:
Burp Suite(简称Burp)是一款Web安全领域的跨平台工具,基于 Java开发。它集成了很多用于发现常见Web漏洞的模块,如Proxy、 Spider、Scanner、Intruder、Repeater等。所有的模块共享一个能处理并显示HTTP消息的扩展框架,模块之间无缝交换信息,可以大大提高效率。
二、Proxy模块设置代理
代理模块是Burp的核心模块,自然也会是我们使用最多的一个模块。它主要用来截获并修改浏览器、手机App等客户端的HTTP/HTTPS数据包。
要想使用Burp,必须先设置代理端口。
Proxy→Options→Proxy Listeners→Add增加代理在Bind to port一栏内填写侦听的端口,这里以8080端口为例。如果要在本机使用,可以将Bind to address设置为Loopback only;如果要让局域网内的设备使用代理,则应该选择All interfaces。
点击OK按钮后勾选Running
以火狐浏览器为例(或直接在设置里搜索代理)在浏览器上依次选择Internet选项→连接→局域网设置,然后在“代理服务器”一栏中填写前文配置的Burp代理IP地址和端口设置完成后就可以通过Burp代理来抓取火狐浏览器的数据包了,如果使用的是Chrome等其他浏览器,则可在相应浏览器的配置项或插件中进行设置。
在扩展中,下载浏览器的代理插件
接下来,在Proxy→Intercept选项卡下设置Intercept is on,这 样就能截获浏览器的数据包并进行修改等操作了。如果设置Intercept is off,则不会将数据包拦截下来,而是会在HTTP history中记录该 请求在数据包内容展示界面上单击右键,可以将这个数据包发送给Intruder、Repeater、Comparer、Decoder等模块
三、Repeater重放模块
在需要手工测试HTTP Header中的Cookie或User-Agent等浏览器不可修改的字段是否存在注入点,以及需要发现复杂的POST数据包中是否存在SSRF时,一般需要用到Repeater模块。
在Proxy中单击右键并选择Send to Repeater(或者Ctrl+r)就可以将截获的数据包发向Repeater模块,这个模块应属于实践中最常用的模块。在这个模块中,左边为将要发送的原始HTTP请求,右边为服务器返回的数据。在界面左侧可以方便地修改将要发送的数据包,用于手工测试Payload等操作,修改完成后点击Go按钮,即可在右侧收到服务器的响应。这里以笔者的一台虚拟机为例进行说明
左侧的HeadersHeaders标签页既可以方便地添加HTTP头信息,又可以避免在手动修改HTTP头时因缺少空格等原因产生问题。例如,我们有时候会在CTF中遇到检查IP地址的题目,此时就可以添加X-Forwarded-For、XReal-IP等HTTP头尝试绕过。在添加之后,可以在Raw标签页中发现这个新增加的HTTP头信息。
左侧的Hex标签页
Hex标签页更多用于修改HTTP数据包的十六进制编码。比如,可以将其用在文件上传类型的CTF题目中以截断后缀,或者是使用这些编码来对WAF进行模糊测试,并让我们可以顺利上传Webshell
四、Intruder暴力破解模块
简介:
暴力破解(以下简称“爆破”)是一种低成本但可能带来高回报的攻击方式。大家应该了解过近些年出现的各种撞库漏洞。当然,在撞库的时候需要考虑性能和效率以进行多线程并发。这时候可以用Python或其他语言编写脚本进行撞库。Burp中也提供了简单易用的Intruder模块来进行爆破。
Intruder模块包含Sniper、Battering ram、Pitchfork、Clusterbomb等四种攻击类型,可以方便地进行Fuzz等测试。在Proxy等模块中,在想要测试的数据包上点击右键并选择Send to Intruder(或者Ctrl+l)即可将数据包发向Intruder模块。Intruder模块中包含了Target、Position、Payload、Options这四个标签页,可分别用于设置不同的功能
设置攻击目标:
在Target标签页中可以设置攻击目标的地址(Host)和目标端口(Port),并且可以选择是否使用HTTPS
设置方法与攻击位置:
在Position标签页中可以设置攻击的位置和攻击的方法。攻击位置可以自动选择(一般自动选择的变量通常会比较多,不推荐自动选择)。手动选择的方法是:如果你的Burp已经进行了自动选择,那么先点击Clear§按钮,然后选择你要爆破的变量,再点击Add§按钮即可
(1)Sniper型
只需要设置一个Payload set,在两个变量的位置逐一替换Payload,每次只替换一个位置,先替换前面再替换后面。如果你的Payload set中有两个Payload,那么在爆破时会发送四次请求Sniper型攻击请求过程
(2)Battering ram型
只需要设置一个Payload set,在两个变量的位置同时替换相同的Payload。如果你的Payload set中有两个Payload,在爆破时会发送两次请求Battering ram型攻击请求过程
(3)Pitchfork型
需要设置两个Payload set,这时候两个变量的位置和两个Payload set是一一对应的关系。这个类型可以用来进行撞库攻击等,用你已知的账号密码去测试其他网站。爆破时会发送两个请求Pitchfork型攻击请求过程
(4)Cluster bomb型
需要设置两个Payload set,这时候每个位置的Payload将在Payload set中进行排列组合。在爆破时共要发送2×2=4个请求Cluster bomb型攻击请求过程
Payload标签页
Payload set可用于设置每个位置使用的Payload集合。Payload type可用于设置这个Payload集合的内容。
Payload type中常用的选项具体包含如下几种:
·Runtime file:用于从文件中加载Payload。·Numbers:用于设置数字的开始和结束以及步长。·Dates:用于设置日期及日期格式。·Character blocks:用于设置长度爆破,Fuzz超长的Post变量,有时候可以绕过WAF等
Options标签页
在Options标签页中通常需要对Request Engine中的参数进行设置。第一个参数为线程数量,默认值为1;第二个参数为网络连接失败时的重传次数,默认为三次;第三个参数为每次重传前的暂停时间;第四个参数为调节数据包发送速度的选项;第五个参数为开始时间。
五、Decoder解码模块
Decoder模块为我们提供了丰富的编码与解码工具,可以方便地对HTTP/HTTPS中需要的数据进行编码和解码,并且支持用文本格式或十六进制模式进行查看在这里,将需要处理的数据输入文本框中,然后选择编码或者解码的模式。除了编码和解码以外,Decoder模块还提供了如MD5、SHA等常见的哈希算法,十分方便。不过,在一般情况下不推荐使用Smart decode进行解码,因为在CTF中智能解码一般都不准确。
六、Comparer比较模块
在某些诸如Bool盲注的正确和错误的回显题目中,有时候两次数据包之间的差别很小,比较难发现,这时可以使用比较模块来进行比较,以发现差异
七、工程选项
在工程选项中,这里只介绍一些比较常用的名称解析相关的模块自定义名称解析
这里可以将域名(也可以是不存在的域名)与IP进行绑定,有时候会遇到一些有这方面需求的题目,而且后文中出现的example.com也都是在这里绑定的
【burpsuite】核心使用方法相关推荐
- 惟客数据李柯辰:数字化客户经营的基础、核心与方法|2022全球数字价值峰会
数据智能是基础.行业化是核心.业务闭环和分段迭代是方法. 近日,由钛媒体与ITValue共同主办的2022全球数字价值峰会深圳站在深圳星河·领创天下举行.此次峰会以"复苏与可持续发展&quo ...
- 【成为架构师课程系列】架构设计中的核心思维方法
架构设计中的核心思维方法 目录 前言 #一.抽象思维 #二.分层思维 #三.分治思维 #四.演化思维 #五.如何培养架构设计思维
- ajax最核心的技术,Ajax技术的核心以及方法属性
这次给大家带来Ajax技术的核心以及方法属性,使用Ajax技术核心以及方法属性的注意事项有哪些,下面就是实战案例,一起来看一下. 一.什么是Ajax Ajax英文全称为" Asynchr J ...
- SpringMVC几个核心类(控制器核心类,加载配置文件核心类,处理url影射核心类,处理视图资源核心类,方法动态调用核心类)
核心类 制器核心类: •org.springframework.web.servlet.DispatcherServlet - 配置web.xml 加载配置文件核心类: •org.springf ...
- BankCore记账流程以及记账核心调用方法
一.系统中的帐务组织如下所述: 1.分户帐类(即各种主文件,包括储蓄活期主文件.储蓄定期主文件.对公活期主文件.对公定期主文件.贷款主文件.内部长主文件等) 2.登记簿类(如现金登记簿.同城票交登记簿 ...
- jQuery 核心 - noConflict() 方法,jQuery 文档操作 - detach() 方法
为什么80%的码农都做不了架构师?>>> 原文地址:http://www.w3school.com.cn/jquery/manipulation_detach.asp 实例 使 ...
- 健身-胸-背-肩-腿-核心锻炼方法
健身 ------------------------------------------------------------------------ 练胸 平板杠铃卧推,中胸,60,15/15/12 ...
- Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】
基于JDK1.8详细介绍了ThreadPoolExecutor线程池的execute方法源码! 上一篇文章中,我们介绍了:Java Executor源码解析(2)-ThreadPoolExecutor ...
- struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...
最新文章
- Cell:新方法PopCOGenT鉴定微生物基因组间的基因流动
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
- Entity Framework Unit Testing problem and solution(转)
- 洛谷 - P3803 【模板】多项式乘法(FFT/NTT)
- LoadRunner常见问题
- 使用 Inno Setup 快速打包你的应用程序
- 机器学习实战11-训练深层神经网络
- django mysql settings
- ios App开发的基本流程
- 数组遍历,判断数组中的对象中某一属性值时候为空
- 2014年计算机求职总结--准备篇
- 再起航,我的学习笔记之JavaScript设计模式13(装饰者模式)
- 南阳理工acm括号配对问题
- 大前端完整学习路线(完整版)
- matlab 光谱共聚焦,激光共焦显微拉曼光谱分析实验数据处理及谱图解析
- 蓝湖访问显示“加载遇到问题”
- US Shirt Size
- 用Python实现求整数各位上数字之和
- Java_IO流-IO流
- Get请求后端并带参数
热门文章
- docker原理与使用
- 数据挖掘基础知识整理
- 计算每月有几周,并且返回每周的具体日期(按照实际日历)
- Pytorch实战1:LeNet手写数字识别 (MNIST数据集)
- 小小音形之超强快码和五笔整句输入法
- 1.Django安装与简单使用
- 考上研究生是一种什么样的体验?爽不爽?
- python iot平台,antares-http-简化与Antares IoT平台连接的Python库-Antares Support Team Installation...
- echarts折线图阴影设置
- opencv3.3+dnn+caffe深度学习来实现图片的分类识别