CTF-web 之 burp suite 使用

news2024/11/25 4:36:10

 

 

burp suite 使用

一般其是作为一个辅助工具,直接使用来解题的部分是少数,我们可以使用它来观察请 求和响应,并且可以反复的提交,关键的是他还带有很多其他的功能,在我们做题的过程中, 使用的关键点包括:

1.  页面和源码无特殊信息时,可以使用抓包观察

----有无特殊字段, 泄露服务器或 flag 等信息

----对提交的 url 和数据进行观察

2.  使用 reapter 功能,重复的测试提交的数据,观察响应等

3. intruder 爆破功能, 用来进行一些密码, 验证码的爆破

4.  使用 request 的编辑功能,编辑头信息以达到题目要求

 

WEB 基础知识

 

0bc97ae3940549e996aa677b0863ebdb.png

 

具体的看图文介绍

下面就是它的设置界面, 默认的代理是 127.0.0.1  端口 8080

adf1e1b832344e349ea0377d3ae13786.png

 

我们在火狐浏览器中添加插件 foxyproxy

150937b2e31d4c04aa47f6e0ea9dee22.png

这样我们就可以方便的打开浏览器的代理,当然需要提前新建一下

94d332c85ea4412cb112b39aef7a5957.png

那么如何开始抓包呢,第一部打开浏览器代理,然后在打开 Bp 的中断就可以了

1b06483999ef46fa864a70cebbfa9dae.png

这样我们的发送和接受的数据就都会被拦截

f0121ff5bbc84b72b2dcbdae90077c55.png

Forward 是发送的意思,Drop 丢弃请求,Action 则是采取其他一些动作,比较实用之一的就 是 send to repeater|intruder

允许我们不断修改和重复的一个请求,测试中非常有用。

 

7cc2a6b9b6654e3ea7ffbcef7145eb47.png

我们可以实用 16 进制和字符的方式观察请求和响应头,支持随时修改, 重复发送, 并 且返回信息不会进入到浏览器。按钮 go 就是发送信息。

 

 

1)查看和修改 http 请求头

 

burp suite 配合火狐浏览器使用, 将两者全部设为代理并打开断点, 即可观察和修改数 据

一般用于获取请求和响应中的特殊数据, 或用于上传绕过等

使用方法:

(1)运行 Burp site,点击 Proxy 标签,确认 Options 选项卡下,Proxy listeners 的 running 运行正常(勾选状态为运行),如果端口打开失败,可能的原因是有程序

占用了该端口, 点击 edit,在 local  listener port:输入框输入一个未占用的端口,点击 update 即可。

(2)然后设置浏览器代理地址为 127.0.0.1,端口为所选端口, 设置浏览器开始代理 并 打开 burp suite 的 proxy-intercept 的 on 状态

(3)进入上传页面, 选择我们的 asp 木马,点击上传就可以看到 burp suite  已经拦截 在 proxy-intercept-Raw 就是原始数据 也可以 Hex 观察 16 进制数据

(4)鼠标对着 Raw 的内容右击,最后单击 Send To Repeater(包重放),修改之后点击 go 进行发送。

 

常见的有:

Referer 来源伪造

X-Forwarded-For:ip 伪造

User-Agent:用户代理(就是用什么浏览器什么的)

Accept-Language:语言 国家要求

Cookie 的修改

 

 

2intruder 载荷攻击

 

在我们需要大量构造载荷重复请求时 可以使用该插件,该插件可以定制数据类型, 变 化范围,以便进行大量的爆破工作, 当然我们也可以使用编写脚本

 

Burp Intruder 主要有四个选项卡组成:

 

1:Target  用于配置目标服务器进行攻击的详细信息。

2:Positions  设置 Payloads 的插入点以及攻击类型(攻击模式)。

3:Payloads  设置 payload,配置字典

4:Opetions  此选项卡包含了 request headers,request engine,attack results  ,grep match, grep_extrack ,grep payloads 和 redirections。

7c346139b349481daecd9d511d269141.png

 

Positions 的四种攻击模式

 

Sniper:这个模式会使用单一的 payload【就是导入字典的 payload】组。它会针对 每个 position  中$$位置设置 payload。这种攻击类型适合对常见漏洞中的请求参数单独地进 行测试。攻击中的请求总数应该是 position 数量和 payload 数量的乘积。

【一组 payload 独立测试每个位置, 互相没关系】

 

Battering ram   – 这一模式是使用单一的 payload 组。它会重复 payload 并且一次把 所有相同的 payload 放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到 多个位置的情况。请求的总数是 payload 组中 payload 的总数。简单说就是一个 playload 字 典同时应用到多个 position 中。

【一组 payload 同步测试所有位置(每个位置都填相同的)】

 

Pitchfork   – 这一模式是使用多个 payload  组。对于定义的位置可以使用不同的 payload 组。攻击会同步迭代所有的 payload 组, 把 payload 放入每个定义的位置中。

【多位置, 每个位置的 payload 是一对一的,即两组 payload 的序号是同步增加】

 

Cluster bomb   – 这种模式会使用多个 payload  组。每个定义的位置中有不同的 payload 组。攻击会迭代每个 payload 组,每种 payload 组合都会被测试一遍。

【多位置, 对于两个位置的 payload,迭代所有的可能组合】

 

63dd965cfc2f4d278d2ea07d68b3c825.png

其中$$之间所夹的信息就是在测试中不断被替换的信息,我们可以编辑需要测试的 位置, 右侧有四个按钮, 也可以手动敲上去或者删除。

 

payload 设置方法

 

关于载荷的设置分为多种不同类型的数据,而后可以选择的范围也会随之变化,初 始设置为 Payload set  和 Payload type

对于常用的数字型, 我们可以选择起始 From  和终止 To  数字, 步长 Step  等,而后 number format 的 Base 会选择进制和 interger digits 整数位数和 fraction digits 小数位数等

2ad2b1bb5b7240f89892430ead1dbea9.png

点击右上角的 start attack 之后, 程序就开始运行了, 中间我们可以观察每次相应的 部分信息,点击可以查看详细的信息。一般我们通过观察长度判断是否达到了目的,因为此 时的长度与其他的不同。(下图只是示意, 并不是实战中的)

 

8c6bc6986a0d4157acc2c94f8f5e9b92.png

2018.10.24 添加

还有一个常用的破解弱口令之类的字典方法

381c8afb00c2405991e1e9cf519817bd.png

我们可以通过 ADD 增加自己编辑的字符串,可以通过 paste 粘贴复制的字符串,可 以通过 load 来读取字典,这时候就需要网上的强大的字典了 dic.txt.

 

option 选项卡包含线程设置,可用于条件竞争

 

2252bc47cbf44376add4b3acad466557.png

numbers of thread 设置线程数目,一般条件竞争时候我们是用不上 payload 的,此

时一般设置为

4fa0d8fe06d5404eaa74214e9430b8af.png

选择 null payloads 方式, 此时由于无法依靠 payload 数目来定义请求数,需要手动 输入 generate 来生成指定的数目的请求

 

3decoder encode

 

加密解密用,各种各样。

 

adce04484a2842f8b62d41e3a7eb3ada.png

下面随意举两个例题,大多数的 Bp 的使用都是很多题中的一个小小的步骤, 在这 里就不详细的讲解了,在看其他题目的时候也会涉及不少的 Bp 的使用

 

 

例题(例题来源于其他博主)

 

猫抓老鼠

 

http://ctf5.shiyanbar.com/basic/catch/

网页有一个输入框, 直接让你输入 key,源码没什么情况, 抓包可以看到许多提交的数 据

6b8bd0da2f6246969f224a793a7bb861.png

比较引人瞩目的就是提交的 passkey=1,响应中有 Content-Row: MTUxMjU4MzgwNA==, 替换 passkey 的值,request 后得到 flag。

 

头有点大

 

Game 19

要求我们使用 framework 9.9 才可以访问,使用 bp 修改头部信息,

df01e19cbc0c426c8d74391314d42239.png

得到 flag(.NET CLR 9.9)

 

 

localhost  允许

 

X-Forwarded-For: 127.0.0.1

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1449544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法沉淀——栈(leetcode真题剖析)

算法沉淀——栈 01.删除字符串中的所有相邻重复项02.比较含退格的字符串03.基本计算器 II04.字符串解码05.验证栈序列 栈(Stack)是一种基于先进后出(Last In, First Out,LIFO)原则的数据结构。栈具有两个主要的操作&am…

统一数据返回格式 及 可能遇到的问题;统一异常处理

统一数据返回格式 统一数据返回格式就像我们寄快递一样&#xff0c;不管你需要寄的东西具体是什么都需要将它打包到统一的快递箱中。 此时我们需要一个“快递箱”用来将返回的数据“装”在里面。这个类是根据业务情况来自行定义的。 Data public class Resp<T> {//200…

【算法随想录03】相交链表

题目&#xff1a;160. 相交链表 难度&#xff1a;EASY 思路 主要难点在于如何进行节点之间的对应。两条链表长度不定长&#xff0c;如何找到需要对比的节点至关重要。 我们从后往前看&#xff0c;我们需要对比的节点有什么特点。一个最大的特点就是后面的节点数相同。这就…

Python算法题集_对称二叉树

Python算法题集_对称二叉树 题101&#xff1a;对称二叉树1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【DFS递归】2) 改进版一【BFS迭代】3) 改进版二【BFS迭代deque】 4. 最优算法 本文为Python算法题集之一的代码示例 题101&#xff1a;对…

软件架构设计--操作系统

常见I/O类型:缓冲I/O和直接I/O 缓冲I/O是C语言提供的库函数 直接I/O是Linux系统API 应用程序内存:代码中用malloc/free,new/delete 等分配出来的内存 用户缓冲区:C语言的FILE结构体里面的bufer. 内核缓冲区:Linux操作系统的Page Cache. 1Page 一般为4K 缓冲I/O的读操作有3次数…

JVM(4)原理篇

1 栈上的数据存储 在Java中有8大基本数据类型&#xff1a; 这里的内存占用&#xff0c;指的是堆上或者数组中内存分配的空间大小&#xff0c;栈上的实现更加复杂。 以基础篇的这段代码为例&#xff1a; Java中的8大数据类型在虚拟机中的实现&#xff1a; boolean、byte、char…

【贪心算法】代码随想录算法训练营第三十二天 |122.买卖股票的最佳时机II,55.跳跃游戏,45.跳跃游戏II(待补充)

122.买卖股票的最佳时机II&#xff08;未观看&#xff0c;动态待补充&#xff09; 1、题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个数组&#xff0c;它的…

云备份项目:在云端保护您的数据【一、初识】

桃李不言&#xff0c;下自成蹊 文章目录 项目简介项目设计方案服务端功能划分客户端功能划分 项目环境搭建环境准备第三方库JsonCppbundle数据压缩库httplib 总结 ☘️项目源代码&#xff1a;云备份 ☘️云备份专栏&#xff1a;云备份 项目简介 云备份系统是一个自动化的备份解…

vue3 之 商城项目—结算模块

路由配置 chekout/index.vue <script setup> const checkInfo {} // 订单对象 const curAddress {} // 地址对象 </script> <template><div class"xtx-pay-checkout-page"><div class"container"><div class"w…

Linux platform tree下的单总线驱动程序设计(DHT11)

目录 概述 1 认识DHT11 1.1 DHT11特性 1.2 DHT11数据格式 1.3 DHT11与MCU通信 1.4 DHT11信号解析 1.4.1 起始信号 1.4.2 解析信号0 1.4.3 解析信号1 2 驱动开发 2.1 硬件接口 2.2 更新设备树 2.2.1 添加驱动节点 2.2.2 编译.dts 2.2.3 更新板卡中的.dtb 2.3 驱…

【开源】SpringBoot框架开发企业项目合同信息系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 合同审批模块2.3 合同签订模块2.4 合同预警模块2.5 数据可视化模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 合同审批表3.2.2 合同签订表3.2.3 合同预警表 四、系统展示五、核心代码5.1 查询合同…

蓝桥杯嵌入式学习记录——按键的使用

目录 一、按键原理简介 二、cubeMX的配置 三、按键的短按代码 四、按键的长按代码 一、按键原理简介 在STM32中&#xff0c;按键连接通常使用GPIO&#xff08;通用输入/输出&#xff09;端口来实现。当按键未被按下时&#xff0c;GPIO端口处于高电平状态&#xff08;即1&am…

【Go语言】第一个Go程序

第一个 Go 程序 1 安装 Go Go语言官网&#xff1a;Download and install - The Go Programming Language&#xff0c;提供了安装包以及引导流程。 以 Windows 为例&#xff0c;进入windows安装包下载地址&#xff1a;All releases - The Go Programming Language&#xff0c…

【Midjourney】解密Midjourney付费订阅:畅享全新体验!(详细流程与各版本一览)

一、Midjourney 付费订阅流程 1、在首页点击Purchase plan 2、进入到midjourney年月选择页面 3、这里续费一个最便宜的版本 , 按年付费 8 , 按月 10 4、输入银行卡信息 , 用的WildCard虚拟信用卡 &#xff0c;打开 5、填写完银行卡信息就订阅成功 二、Midjourney 各版本介绍…

洛谷_P1923 【深基9.例4】求第 k 小的数_python写法

哪位大佬可以出一下这个的题解&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;话说蓝桥杯可以用numpy库吗&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f; 这道题有一个很简单的思路就是排序完成之后再访问。 but有很大的问题&…

SAP PP学习笔记- 豆知识01 - 怎么查询既存品目

SAP系统当中已经有哪些品目要怎么查询呢&#xff1f; 1&#xff0c;MM60 品目一览 这里可以输入Plant&#xff0c;然后可以查询该工厂的所有品目。 2&#xff0c;SE16 > MARA MARA 品目一般データ&#xff0c;存放的是品目基本信息。 要查询该品目属于哪个Plant&#xff…

如何在30天内使用python制作一个卡牌游戏

如何在30天内使用python制作一个卡牌游戏 第1-5天&#xff1a;规划和设计第6-10天&#xff1a;搭建游戏框架第11-20天&#xff1a;核心游戏机制开发第21-25天&#xff1a;游戏界面和用户体验第26-30天&#xff1a;测试和发布附加建议游戏类型游戏规则设计界面设计技术选型第6-…

下一代Windows系统曝光:基于GPT-4V,Agent跨应用调度,代号UFO

下一代Windows操作系统提前曝光了&#xff1f;&#xff1f; 微软首个为Windows而设的智能体&#xff08;Agent&#xff09; 亮相&#xff1a; 基于GPT-4V&#xff0c;一句话就可以在多个应用中无缝切换&#xff0c;完成复杂任务。整个过程无需人为干预&#xff0c;其执行成功…

MySQL 基础知识(四)之表操作

目录 1 约束 2 查看已有表 3 创建表 4 查看表结构 5 修改表 6 删除表 1 约束 主键约束 primary key&#xff1a;唯一&#xff0c;标识表中的一行数据&#xff0c;此列的值不可重复&#xff0c;且不能为 NULL&#xff0c;此外&#xff0c;可以多个列组成主键唯一约束 uniq…

新机Word/PowerPoint新建空白文档后闪退问题

首先可以尝试一下常规的修复&#xff1a; 设置-应用-安装的应用-搜索office-点击Micros Office Home and Student...右侧三个点-选择修改-点击是-快速修复-修复 再不行就按上面的选择联机修复&#xff0c;这个会卸载现有Office然后自动帮你重新下载 我做了以上两个都没有解决问…