CTF-web 之 burp suite 使用

 

 

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.mzph.cn/news/683203.shtml

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

相关文章

MyBatis篇----第六篇

系列文章目录 文章目录 系列文章目录前言一、什么是 MyBatis 的接口绑定?有哪些实现方式?二、使用 MyBatis 的 mapper 接口调用时有哪些要求?三、Mapper 编写有哪几种方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳…

OpenGL-ES 学习(1)---- AlphaBlend

AlphaBlend OpenGL-ES 混合本质上是将 2 个片元的颜色进行调和(一般是求和操作),产生一个新的颜色 OpenGL ES 混合发生在片元通过各项测试之后,准备进入帧缓冲区的片元和原有的片元按照特定比例加权计算出最终片元的颜色值,不再是新&#xf…

书生浦语大模型实战营-课程笔记(2)

介绍了一下InternLm的总体情况。 InternLm是训练框架,Lagent是智能体框架。 这个预训练需要这么多算力,大模型确实花钱。 Lagent是智能体框架,相当于LLM的应用。 pip设置 开发机的配置 pip install transformers4.33.1 timm0.4.12 sente…

vue项目搭建测试

5&#xff0c;项目测试 导入elementplus以及样式 import ElementPlus from element-plus import element-plus/dist/index.csscreateApp(App).use(store).use(router).use(ElementPlus).mount(#app)<template><el-row class"mb-4"><el-button>De…

MATLAB|基于改进二进制粒子群算法的含需求响应机组组合问题研究(含文献和源码)

目录 主要内容 模型研究 1.改进二进制粒子群算法&#xff08;BPSO&#xff09; 2.模型分析 结果一览 下载链接 主要内容 该程序复现《A Modified Binary PSO to solve the Thermal Unit Commitment Problem》&#xff0c;主要做的是一个考虑需求响应的机组组合…

投资银行在网络安全生态中的作用

文章目录 一、投资银行的含义(一)并购买方。(二)并购卖方。(三)IPO辅助。(四)投资银行业务的另一方面是帮助这些交易融资。二、从投资银行角度看网络安全产业(一)行业的短期前景三、复杂的网络安全并购(一)行业知识对投资银行业务很重要(二)在网络安全领域,技术…

HDFS的超级用户

一. 解释原因 HDFS(Hadoop Distributed File System)和linux文件系统管理一样&#xff0c;也是存在权限控制的。 但是很不一样的是&#xff0c; 在Linux文件系统中&#xff0c;超级用户Superuser是root而在HDFS中&#xff0c;超级用户Superuser是启动了namenode的用户&#x…

neo4j下载安装最新教程 2024.02

文章目录 neo4j简介下载地址配置环境变量命令行启动验证安装结果 neo4j简介 Neo4j 是一个高性能的 NoSQL 图形数据库&#xff0c;它将结构化数据存储在网络&#xff08;从数学角度叫做图&#xff09;上而不是表中。Neo4j 也可以被看作是一个高性能的图引擎&#xff0c;该引擎具…

mathtype公式

Mathtype 手写板 Win11手写板按钮灰色问题解决&#xff1a;在C:\Program Files\Common Files\microsoft shared\ink目录下粘贴mip.exe&#xff0c;C:\Program Files\Common Files\microsoft shared\ink\en-US目录下添加mip.exe.mui提取码y04v 公式识别 配合免费图片公式识别…

【开源】在线办公系统 JAVA+Vue.js+SpringBoot+MySQL

目录 1 功能模块1.1 员工管理模块1.2 邮件管理模块1.3 人事档案模块1.4 公告管理模块 2 系统展示3 核心代码3.1 查询用户3.2 导入用户3.3 新增公告 4 免责声明 本文项目编号&#xff1a; T 001 。 \color{red}{本文项目编号&#xff1a;T001。} 本文项目编号&#xff1a;T001。…

磁盘database数据恢复: ddrescue,dd和Android 设备的数据拷贝

ddrescue和dd 区别&#xff1a; GNU ddrescue 不是 dd 的衍生物&#xff0c;也与 dd 没有任何关系 除了两者都可用于将数据从一台设备复制到另一台设备。 关键的区别在于 ddrescue 使用复杂的算法来复制 来自故障驱动器的数据&#xff0c;尽可能少地造成额外的损坏。ddrescue…

mysql8.0.36主从复制(读写分离)配置教程

1、关闭防火墙 使用命令行关闭防火墙 在Ubuntu系统中&#xff0c;可以使用以下命令关闭防火墙&#xff1a; sudo ufw disable执行该命令后&#xff0c;系统会提示是否要关闭防火墙&#xff0c;确认后即可关闭防火墙。 查看防火墙状态 使用以下命令可以查看防火墙当前的状…

Vegeta压测工具学习与使用

Vegeta压测工具学习与使用 目标&#xff1a; 能够在命令行下使用Vegeta对指定API进行测试了解如何导出结果&#xff0c;以及能获得什么样的结果(P99,P99.9,QPS)探索能否导出其他结果&#xff0c;是否能够执行复杂命令或简易脚本等 时间比较紧迫&#xff0c;预计两到三个小时内完…

详解tomcat中的jmx监控

目录 1.概述 2.如何开启tomcat的JMX 3.tomcat如何实现JMX的源码分析 1.概述 本文是博主JAVA监控技术系列文章的第二篇&#xff0c;前面一篇文章中我们介绍了JAVA监控技术的基石——jmx&#xff1a; 【JMX】JAVA监控的基石-CSDN博客 本文我们将从使用和源码实现两个方面聊…

BLDC驱动刹车电路、能量泄放电路

不同STM32的性能; APM2.8飞控整合资料&#xff1a; APM2.8飞控说明书 GitBook BLDC的制动首先要考虑MOS的泄放电阻的选择&#xff0c;参考前面博客。 刹车电阻制动&#xff1a; 如图所示就是一种通过功率电阻耗散电机制动过程中产生电能的电路。因为功率电阻在这个电路中起…

【AI视野·今日Robot 机器人论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Wed, 17 Jan 2024 Totally 49 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Safe Mission-Level Path Planning for Exploration of Lunar Shadowed Regions by a Solar-Powered Rover Authors Olivier L…

【并发编程】ThreadPoolExecutor类

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程⛺️稳重求进&#xff0c;晒太阳 ThreadPoolExecutor 1) 线程池状态 ThreadPoolExecutor 使用 int 的高 3 位来表示线程池状态&#xff0c;低 29 位表示线程数量 状态名 高三位 …

全闭环直播推流桌面分享远控系统

直播推流涉及多协议&#xff0c;多端技术栈和知识点&#xff0c;&#xff0c;想要做好并不容易&#xff0c;经过几年时间的迭代&#xff0c;终于小有成就&#xff0c;聚集了媒体服务器&#xff0c;实时会议sfu&#xff0c;远控kvm等功能。可以做一个音视频应用的瑞士小军刀。主…

详解Vue文件结构+实现一个简单案例

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

测试开发-2-概念篇

文章目录 衡量软件测试结果的依据—需求1.需求的概念2.从软件测试人员角度看需求3.为什么需求对软件测试人员如此重要4.如何才可以深入理解被测试软件的需求5.测试用例的概念6.软件错误&#xff08;BUG&#xff09;的概念7.开发模型和测试模型8.软件的生命周期9.瀑布模型&#…