当前位置: 首页 > news >正文

Burp Suite基本使用(web安全)

工具介绍

        在网络安全的领域,你是否听说过抓包,挖掘漏洞等一系列的词汇,这篇文章将带你了解漏洞挖掘的热门工具——Burp Suite的使用。

        Burp Suite是一款由PortSwigger Web Security公司开发的集成化Web应用安全检测工具,它主要用于网络安全领域,特别是针对Web应用程序的渗透测试。该软件是java制作的在得到jar文件之后,如果电脑上没有java环境或者java环境不匹配,依然会造成工具无法打开和使用。

        在使用工具之前,我必须要提前声明:

        合法使用:用户应确保在授权和合法的情况下使用Burp Suite来帮助发现和修复系统中的安全漏洞。未经授权的使用可能是非法的和不道德的。

        定期更新:由于网络安全环境不断变化,用户应定期更新Burp Suite以获取最新的安全漏洞信息和修复措施。

        谨慎操作:在使用Burp Suite进行安全测试时,用户应谨慎操作,避免对目标系统造成不必要的损害或影响。

        所以请不要在没有得到允许的情况下,或者你不确定某些功能的情况下随便操作别人的网站。否则,因为扫描或其他原因造成的损失,需要负法律责任。

功能介绍

拦截以及修改请求

        在低版本的Burp中,我们通常要配置浏览器代理,这样我们的浏览器才能和Burp绑定使用,通常Burp做浏览器代理的话占用的是127.0.0.1的8080端口。而现在的更高版本的burp为了让我们的使用更加舒适,它配置了内置的浏览器,我们只需要点击Proxy的Intercept选项的open browser。

        即可打开内置浏览器,如下所示,根据图标,感觉应该是Google的内核。

        在浏览器中,我们输入某个网址,我们在打开输入的网站之后发现浏览器和我们平时用的没什么两样。

        其实,它与我们平时的浏览器略有不同。由于这个浏览器是通过Burp控制的,所以我们可以通过Burp提前抓住服务器发送过来的包,这样浏览器就无法正常接收包,我们再提前把包里面的内容审核完毕或者修改完毕,就可以得到与服务器发送过来的不同的包(网页)。

        这个时候,我们要打开intercept选项如下图:

        之后,我们再在浏览器上输入某个网站的网址,它就无法在浏览器中打开,例如我们拿之前的express框架制作的样例进行测试,我们的网站监听的是192.168.1.18:8000。我们试一下能不能在内置浏览器上打开。

        首先,在我们的虚拟机中打开网站的服务器。

        接着,我们在浏览器中输入192.168.1.18:8000/hello看一下能不能呈现网页。

        我们显而易见的发现了浏览器并没有呈现我们输入的url,但是在burp端我们却拦截了request(请求包)这说明,我们的请求并没有发出去,服务器根本没有接收到我们的请求。我们只需要点击一次Forward选项,这样我们就可以把拦截的包发送出去。

        我们试想一下,如果我们在某个购物网站上购买的东西通过post请求发送回来时,我们改变商品的价格的值就可以改变最终商品的价格。多说无益,我们从Burp的官网上申请一个购物的网站作为我们本次尝试的靶场。实验:对客户端控件的过度信任 |Web 安全学院 (portswigger.net)使用的是这个网站,大家可以尝试注册一下,申请靶场的过程我不再过多的演示。

        我们在尝试把某个商品放到购物车的时候,可以看到首先捕获到了一个带有post请求的包,这个包用我们前面用过的http请求构造分析之后,发现价格在请求体里,我们只需要修改请求体里面的内容,再通过forward选项把包放给浏览器即可。接下来,我们不再需要使用intercept拦截包,直接关闭拦截功能,正常操作浏览器即可。

        我们发现购物车里面商品的价格变成了$0.01,那么我们直接点击place order付款。

        我们惊奇的发现,在成功付款之后,我们只扣了$0.01,那么,你可能会想到,我在现实中,从网上购买一些东西通过这个方法,岂不是就便宜很多了,但实际上,这种情况,在实战中很少有。一般有一些安全意识的网站根本不会把价格放在前端里面,在传输的时候也不会不加密地把敏感内容赤裸裸的展现出来。因此,我们本次的攻击并不具有实践意义。

重新发送请求

        我要向访问过的网站重新发送请求,如果你是python爬虫选手,你可能会用urllib或者request发送get_post请求,甚至你直接用socket手搓HTTP请求也是可以实现的。

        但是我们的burp工具提供了非常方便的发送请求的方式,我们只需要从历史记录中找到原来的请求右键点击选择send to repeater,这样在我们的repeater选项卡中就可以看到原来的包。

        我们再点击左上角的send就可以发送请求,在右边的框中我们就可以得到服务器给我们返回的包内容。这样比写代码更加方便了。

筛选HTTP流量

        在一些网站中,我们向它发送请求,最终会得到许多的包,这些包虽然对我们的网页没有什么影响,但是我们在查看浏览记录,重新分析漏洞时,因为包的冗余过多,我们无法更好的挑选出我们想要的包。因此我们需要筛选。

        在HTTP history中,我们可以看到这些是我们发送过的所有的请求。我们点击第一列左上角的#就可以选择让它们按序号或者按照时间的顺序进行排列。

        在我们之前的测试中,我们用到了本地虚拟机的192.168.1.18:8000发送和接收请求,我想筛选出来所有的相关的请求。

        首先,我右键点击后把它add to scope。

        然后,我们点击上面的横条Filter,在弹出来的框里面选择show only in-scope items选项。

        这样,我们就完成了筛选,我们再查看页面时就只剩下这个IP的请求了。

        之后我们再发送其他网站的请求时,这里也不会显示对应的记录了。因此在测试其它的网页,我们需要把之前勾选的选项去掉。

漏洞扫描

        这个功能在kali自带的burp中并没有,我们需要下载专家版或者企业版。可以搜索破解版从哪里下载。

        burp scanner是非常成熟的扫描工具,我们只需要告诉它要扫描的地址就可以让它自己干活,我们休息了。

注:这种扫描可能导致网站崩溃,请在自己的网页或者靶场测试。

        首先,点击New scan创建新的扫描。

        接下来,选择扫描的网站。

        选中lightweight之后开始扫描漏洞。

        我们发现初始界面增加了一个新的扫描任务,我们要做的就是等待扫描完毕。

        最终的扫描结果我们可以在target里面查看。

同时我们可以选择生成扫描报告。

        按照上面的选项生成报告以后,一定要选择生成html,否则我们无法查看生成的报告。

        最终给我们生成报告之后,我们打开可以发现扫描到的隐患是我们传输过程没有加密。

相关文章:

Burp Suite基本使用(web安全)

工具介绍 在网络安全的领域,你是否听说过抓包,挖掘漏洞等一系列的词汇,这篇文章将带你了解漏洞挖掘的热门工具——Burp Suite的使用。 Burp Suite是一款由PortSwigger Web Security公司开发的集成化Web应用安全检测工具,它主要用于…...

React实现自定义图表(线状+柱状)

要使用 React 绘制一个结合线状图和柱状图的图表,你可以使用 react-chartjs-2 库,它是基于 Chart.js 的 React 封装。以下是一个示例代码,展示如何实现这个需求: 1. 安装依赖 首先,你需要安装 react-chartjs-2 和 ch…...

从低清到4K的魔法:FlashVideo突破高分辨率视频生成计算瓶颈(港大港中文字节)

论文链接:https://arxiv.org/pdf/2502.05179 项目链接:https://github.com/FoundationVision/FlashVideo 亮点直击 提出了 FlashVideo,一种将视频生成解耦为两个目标的方法:提示匹配度和视觉质量。通过在两个阶段分别调整模型规模…...

Qt的QTabWidget的使用

在PyQt5中,QTabWidget 是一个用于管理多个选项卡页面的容器控件。以下是其使用方法的详细说明和示例: 1. 基本用法 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QLabel, QVBoxLayoutclass MainWindow(QMa…...

Next.js【详解】获取数据(访问接口)

Next.js 中分为 服务端组件 和 客户端组件&#xff0c;内置的获取数据各不相同 服务端组件 方式1 – 使用 fetch export default async function Page() {const data await fetch(https://api.vercel.app/blog)const posts await data.json()return (<ul>{posts.map((…...

反向代理模块kd

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…...

leaflet前端初始化项目

1、通过npm安装leaflet包&#xff0c;或者直接在项目中引入leaflet.js库文件。 npm 安装&#xff1a;npm i leaflet 如果在index.html中引入leaflet.js,在项目中可以直接使用变量L. 注意:尽量要么使用npm包&#xff0c;要么使用leaflet.js库&#xff0c;两者一起使用容易发生…...

CMS DTcms 靶场(弱口令、文件上传、tasklist提权、开启远程桌面3389、gotohttp远程登录控制)

环境说明 攻击机kali:192.168.111.128 信息收集 主机发现 ┌──(root㉿kali-plus)-[~/Desktop] └─# nmap -sP 192.168.111.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-23 14:57 CST Nmap scan report for 192.168.111.1 Host is up (0.00039s latenc…...

Docker 入门与实战:从安装到容器管理的完整指南

&#x1f680; Docker 入门与实战&#xff1a;从安装到容器管理的完整指南 &#x1f31f; &#x1f4d6; 简介 在现代软件开发中&#xff0c;容器化技术已经成为不可或缺的一部分。而 Docker 作为容器化领域的领头羊&#xff0c;以其轻量级、高效和跨平台的特性&#xff0c;深…...

git删除本地分支

一、命令方式 1、查看本地分支 git branch 2、切换到一个不删除的分支 git checkout branch_name 3、强制删除分支 git branch -D local_branch_name 二、工具方式 1、选择"Browse references"&#xff0c;右键"Delete branch"...

spring cloud gateway限流常见算法

目录 一、网关限流 1、限流的作用 1. 保护后端服务 2. 保证服务质量 (QoS) 3. 避免滥用和恶意攻击 4. 减少资源浪费 5. 提高系统可扩展性和稳定性 6. 控制不同用户的访问频率 7. 提升用户体验 8. 避免API滥用和负载过高 9. 监控与分析 10. 避免系统崩溃 2、网关限…...

本地使用docker部署DeepSeek大模型

1、相关技术介绍 1.1、RAG RAG&#xff08;Retrieval Augmented Generation&#xff09;&#xff0c;即“检索&#xff0c;增强&#xff0c;生成”&#xff0c;用于提升自然语言处理任务的性能。其核心思想是通过检索相关信息来增强生成模型的能力&#xff0c;具体步骤如下&am…...

C++ 设计模式-外观模式

外观模式的定义 外观模式是一种 结构型设计模式,它通过提供一个简化的接口来隐藏系统的复杂性。外观模式的核心思想是: 封装复杂子系统:将多个复杂的子系统或组件封装在一个统一的接口后面。提供简单接口:为客户端提供一个更简单、更易用的接口,而不需要客户端直接与复杂…...

【Linux网络编程】应用层协议HTTP(请求方法,状态码,重定向,cookie,session)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络编程笔记&#xff1a; https://blog.cs…...

SQL进阶技巧:如何统计用户跨端消费行为?

目录 0 问题描述 2 问题剖析 技术难点解析 3 完整解决方案 步骤1:构造全量日期平台组合 步骤2:用户行为标记 步骤3:最终关联聚合 4 核心技巧总结 5 复杂度评估 往期精彩 0 问题描述 支出表: Spending +-------------+---------+ | Column Name | Type | +-----…...

Fiddler笔记

文章目录 一、与F12对比二、核心作用三、原理四、配置1.Rules:2.配置证书抓取https包3.设置过滤器4、抓取App包 五、模拟弱网测试六、调试1.线上调试2.断点调试 七、理论1.四要素2.如何定位前后端bug 注 一、与F12对比 相同点&#xff1a; 都可以对http和https请求进行抓包分析…...

基于SpringBoot+Vue的老年人体检管理系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

51c自动驾驶~合集51

我自己的原文哦~ https://blog.51cto.com/whaosoft/13320191 #毫末最新OAD 轨迹偏移学习助力端到端新SOTA~ 端到端自动驾驶技术在近年来取得了显著进展。在本研究中&#xff0c;我们提出了轨迹偏移学习&#xff0c;将传统的直接预测自车轨迹&#xff0c;转换为预测相对于…...

Redis 监视器:深入解析与实战指南

Redis 监视器&#xff1a;深入解析与实战指南 引言 随着互联网技术的飞速发展&#xff0c;企业对实时数据处理和高并发场景的需求日益增长。Redis作为一款高性能的内存数据库&#xff0c;在各个领域中得到了广泛应用&#xff0c;包括缓存、消息队列、实时数据分析等。然而&am…...

Java8适配的markdown转换html工具(FlexMark)

坐标地址&#xff1a; <dependency><groupId>com.vladsch.flexmark</groupId><artifactId>flexmark-all</artifactId><version>0.60.0</version> </dependency> 工具类代码&#xff1a; import com.vladsch.flexmark.ext.tab…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...