目录

一、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按钮,即可在右侧收到服务器的响应。这里以笔者的一台虚拟机为例进行说明


左侧的Headers
Headers标签页既可以方便地添加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】核心使用方法相关推荐

  1. 惟客数据李柯辰:数字化客户经营的基础、核心与方法|2022全球数字价值峰会

    数据智能是基础.行业化是核心.业务闭环和分段迭代是方法. 近日,由钛媒体与ITValue共同主办的2022全球数字价值峰会深圳站在深圳星河·领创天下举行.此次峰会以"复苏与可持续发展&quo ...

  2. 【成为架构师课程系列】架构设计中的核心思维方法

    架构设计中的核心思维方法 目录 前言 #一.抽象思维 #二.分层思维 #三.分治思维 #四.演化思维 #五.如何培养架构设计思维

  3. ajax最核心的技术,Ajax技术的核心以及方法属性

    这次给大家带来Ajax技术的核心以及方法属性,使用Ajax技术核心以及方法属性的注意事项有哪些,下面就是实战案例,一起来看一下. 一.什么是Ajax Ajax英文全称为" Asynchr J ...

  4. SpringMVC几个核心类(控制器核心类,加载配置文件核心类,处理url影射核心类,处理视图资源核心类,方法动态调用核心类)

    核心类 制器核心类: •org.springframework.web.servlet.DispatcherServlet  - 配置web.xml   加载配置文件核心类: •org.springf ...

  5. BankCore记账流程以及记账核心调用方法

    一.系统中的帐务组织如下所述: 1.分户帐类(即各种主文件,包括储蓄活期主文件.储蓄定期主文件.对公活期主文件.对公定期主文件.贷款主文件.内部长主文件等) 2.登记簿类(如现金登记簿.同城票交登记簿 ...

  6. jQuery 核心 - noConflict() 方法,jQuery 文档操作 - detach() 方法

    为什么80%的码农都做不了架构师?>>>    原文地址:http://www.w3school.com.cn/jquery/manipulation_detach.asp 实例 使 ...

  7. 健身-胸-背-肩-腿-核心锻炼方法

    健身 ------------------------------------------------------------------------ 练胸 平板杠铃卧推,中胸,60,15/15/12 ...

  8. Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】

    基于JDK1.8详细介绍了ThreadPoolExecutor线程池的execute方法源码! 上一篇文章中,我们介绍了:Java Executor源码解析(2)-ThreadPoolExecutor ...

  9. struts2的核心和工作原理

    在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...

最新文章

  1. Cell:新方法PopCOGenT鉴定微生物基因组间的基因流动
  2. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
  3. Entity Framework Unit Testing problem and solution(转)
  4. 洛谷 - P3803 【模板】多项式乘法(FFT/NTT)
  5. LoadRunner常见问题
  6. 使用 Inno Setup 快速打包你的应用程序
  7. 机器学习实战11-训练深层神经网络
  8. django mysql settings
  9. ios App开发的基本流程
  10. 数组遍历,判断数组中的对象中某一属性值时候为空
  11. 2014年计算机求职总结--准备篇
  12. 再起航,我的学习笔记之JavaScript设计模式13(装饰者模式)
  13. 南阳理工acm括号配对问题
  14. 大前端完整学习路线(完整版)
  15. matlab 光谱共聚焦,激光共焦显微拉曼光谱分析实验数据处理及谱图解析
  16. 蓝湖访问显示“加载遇到问题”
  17. US Shirt Size
  18. 用Python实现求整数各位上数字之和
  19. Java_IO流-IO流
  20. Get请求后端并带参数

热门文章

  1. docker原理与使用
  2. 数据挖掘基础知识整理
  3. 计算每月有几周,并且返回每周的具体日期(按照实际日历)
  4. Pytorch实战1:LeNet手写数字识别 (MNIST数据集)
  5. 小小音形之超强快码和五笔整句输入法
  6. 1.Django安装与简单使用
  7. 考上研究生是一种什么样的体验?爽不爽?
  8. python iot平台,antares-http-简化与Antares IoT平台连接的Python库-Antares Support Team Installation...
  9. echarts折线图阴影设置
  10. opencv3.3+dnn+caffe深度学习来实现图片的分类识别