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应用安全检测工具,它主要用于…...
RabbitMQ 3.12.2:单节点与集群部署实战指南
前言:在当今的分布式系统架构中,消息队列已经成为不可或缺的组件之一。它不仅能够实现服务之间的解耦,还能有效提升系统的可扩展性和可靠性。RabbitMQ 作为一款功能强大且广泛使用的开源消息中间件,凭借其高可用性、灵活的路由策略…...
【故障处理】- 11G expdp导出缓慢 + Streams AQ: enqueue blocked on low memory等待事件
【故障处理】- 11G expdp导出缓慢 Streams AQ: enqueue blocked on low memory等待事件 一、概述二、故障原因三、解决方法 一、概述 该问题的数据库版本是11.2.0.4,执行expdp导出的时候,小表导出非常缓慢,同时有Streams AQ: enqueue blocke…...
mac相关命令
显示和隐藏usr等隐藏文件文件 terminal输入: defaults write com.apple.Finder AppleShowAllFiles YESdefaults write com.apple.Finder AppleShowAllFiles NO让.bashrc每次启动shell自动生效 编辑vim ~/.bash_profile 文件, 加上 if [ -f ~/.bashrc ]; then. ~/.bashrc fi注…...
30 款 Windows 和 Mac 下的复制粘贴软件对比
在日常电脑操作中,复制粘贴是极为高频的操作,一款好用的复制粘贴软件能极大提升工作效率。以下为你详细介绍 30 款 Windows 和 Mac 下的复制粘贴软件,并对比它们的优缺点,同时附上官网下载地址,方便大家获取软件。 Pa…...
MYSQL下载安装及使用
MYSQL官网下载地址:https://downloads.mysql.com/archives/community/ 也可以直接在服务器执行指令下载,但是下载速度比较慢。还是自己下载好拷贝过来比较快。 wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1…...
《仙台有树》里的馅料(序)
《仙台有树》一起追剧吧(二):馅料合集概览 ●德爱武美玩,全面发展 ●猜猜我是谁&真假美清歌 ●失忆的风还是吹到了仙台 ●霸道师徒强制收&你拜我,我拜你,师徒徒师甜蜜蜜 ●霸道总裁强制爱 ●仙台有…...
C语言题目:链表数据求和操作
题目描述 读入10个复数,建立对应链表,然后求所有复数的和。 输入格式 无 输出格式 无 样例输入 1 2 1 3 4 5 2 3 3 1 2 1 4 2 2 2 3 3 1 1 样例输出 2323i 代码功能概述 createNode 函数: 创建一个包含 10 个复数节点的链表。 每个…...
如何在不依赖函数调用功能的情况下结合工具与大型语言模型
当大型语言模型(LLM)原生不支持函数调用功能时,如何实现智能工具调度?本文通过自然语言解析结构化输出控制的方法来实现。 GitHub代码地址 核心实现步骤 定义工具函数 使用tool装饰器声明可调用工具: from langcha…...
统信服务器操作系统V20 1070A 安装docker新版本26.1.4
应用场景: 硬件/整机信息:x86平台、深信服超融合平台 OS版本信息:统信V20 1070a 1.获取docker二进制包 链接: https://pan.baidu.com/s/1SukBlra0mQxvslTfFakzGw?pwd5s5y 提取码: 5s5y tar xvf docker-26.1.4.tgz groupadd docker ch…...
【Linux】文件系统:文件fd
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.回顾C文件接口02.系统文件I/O02.1 openflags 参数(文件打开模式)标记位传参1. 访问模式(必须指定一个)2. 额外控制标志…...
电脑系统损坏,备份文件
一、工具准备 1.U盘:8G以上就够用,注意会格式化U盘,提前备份U盘内容 2.电脑:下载Windows系统并进行启动盘制作 二、Windows启动盘制作 1.微软官网下载启动盘制作工具微软官网下载启动盘制作工具https://www.microsoft.com/zh-c…...
View Binding小记
View Binding 1.简介 View Binding 是 Android 开发中的一项功能,它允许开发者以类型安全的方式直接访问布局文件中的视图,而无需使用 findViewById View Binding 生成的绑定类中的字段类型与布局文件中的视图类型完全一致,避免了 findVie…...
Python网络运维自动化:从零开始学习NetDevOps
零基础入门NetDevOps,让网络运维更简单、更高效。 Python网络运维自动化 1.从理论到实战:从基础理论入手,通过实战案例教学,手把手教读者掌握Python网络运维自动化,解决运维工作中的日常问题,提升运维效率…...
公网远程家里局域网电脑过程详细记录,包含设置路由器。
由于从校内迁居小区,校内需要远程控制访问小区内个人电脑,于是早些时间刚好自己是电信宽带,可以申请公网ipv4不需要花钱,所以就打电话直接申请即可,申请成功后访问光猫设备管理界面192.168.1.1,输入用户名密码登录超管(密码是网上查下就有了)设置了光猫为桥接模式,然后…...
网络安全示意图 网络安全路线图
其实网络安全本身的知识点并不算难,但需要学的东西比较多,如果想要从事网络安全领域,肯定是需要系统、全面地掌握清楚需要用到的技能的。 自学的方式基本是通过看视频或者相关的书籍,不论是什么方法,都是很难的&#…...
【多线程异步和MQ有什么区别?】
多线程异步和MQ有什么区别? 多线程异步MQ(消息队列)多线程异步与MQ的区别多线程异步 概念: 多线程异步是指在单个应用程序内部创建和管理多个线程,这些线程并行处理任务。 多线程主要用于提升应用程序的性能,特别是在处理计算密集型任务(如科学计算、图像处理、数据分…...
Annie导航2.0 新增加5个模版 开源免授权
新增5个模版 修复部分模版样式问题 采用最新技术tinkphp8.0 php8.1 mysql5.7 Funadmin框架 后台一键式统计访问人数 网站设置 分类设置 网站管理 工具管理 友情链接 广告管理 [color=var(–comiis-color)]联系方式 主题管理 配置多套模版随意切换 已更新市面上热门的几个模版...
Spring AI发布!让Java紧跟AI赛道!
1. 序言 在当今技术发展的背景下,人工智能(AI)已经成为各行各业中不可忽视的重要技术。无论是在互联网公司,还是传统行业,AI技术的应用都在大幅提升效率、降低成本、推动创新。从智能客服到个性化推荐,从语…...
一个简洁高效的Flask用户管理示例
Flask-Login 是 Flask 的用户管理扩展,提供 用户身份验证、会话管理、权限控制 等功能。 适用于: • 用户登录、登出 • 记住用户(“记住我” 功能) • 限制未登录用户访问某些页面 • 用户会话管理 1. 安装 Flask-Login pi…...
HTML之JavaScript Form表单事件
HTML之JavaScript Form表单事件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title…...
[文末数据集]ML.NET库学习010:URL是否具有恶意性分类
文章目录 ML.NET库学习010:URL是否具有恶意性分类项目主要目的和原理项目概述主要功能和步骤总结数据集地址ML.NET库学习010:URL是否具有恶意性分类 项目主要目的和原理 项目主要目的: 本项目的目的是通过分析URL的特征,构建一个机器学习模型来判断给定的URL是否具有恶意…...
百度地图接入DeepSeek技术解析:AI如何重塑地图搜索体验?
百度地图接入DeepSeek技术解析:AI如何重塑地图搜索体验? 百度地图接入DeepSeek技术解析:AI如何重塑地图搜索体验?引言一、技术背景与核心能力1.1 DeepSeek的技术优势1.2 百度地图API的技术底座 二、技术实现路径2.1 系统架构设计2…...
C语言——深入理解指针(2)(数组与指针)
文章目录 数组名的理解使用指针访问数组一维数组传参的本质冒泡排序二级指针指针数组指针数组模拟二维数组 数组名的理解 之前我们在使用指针访问数组内容时,有这样的代码: int arr[10]{1,2,3,4,5,6,7,8,9,10}; int* p&arr[0];这里我们使用&ar…...
Open-WebUI官方部署文档
Github地址:GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 打开 WebUI 👋 如果你是零基础的小白,不知道什么是DeepSeek的话?不知道如何本地化部署,我强烈建议先看…...
爬虫破解网页禁止F12
右击页面显示如下 先点击f12再输入网址,回车后没有加载任何数据 目前的一种解决方法: 先 AltD ,再 CtrlShifti...
vuex 简单使用
vuex 简单使用 示例:管理一个对象状态 假设我们要管理一个用户对象 user,包含 name 和 age 两个属性。 1. 定义 Vuex Store 在 store/index.js 中定义状态、mutations、actions 和 getters: import { createStore } from vuex;const store…...
机器学习_16 朴素贝叶斯知识点总结
朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的概率分类算法,广泛应用于文本分类、垃圾邮件检测和情感分析等领域。它通过计算后验概率来进行分类,核心假设是特征之间相互独立。今天,我们就来深入探讨朴素贝叶斯的原理…...
Xshell连接虚拟机ubuntu,报错(port 22): Connection failed.
Connecting to 192.168.37.131:22... Could not connect to 192.168.37.131 (port 22): Connection failed. 虚拟机ubuntu 可以ping通,但就是连接不上。 先后排查了, 1. 网络适配器是否被禁用 2.设置虚拟机网络适配器的网络连接模式为桥接模式…...
浏览器报错:无法访问此网站 无法找到xxx.xxx.net的DNS地址。正在诊断该问题。尝试运行Windows网络诊断。DNS_PROBE_STARTED
🤟致敬读者 🟩感谢阅读🟦希望我的文章能帮到您🟪如有兴趣可点关注了解更多内容 📘博主信息 点击标题👆有惊喜 📃文章前言 🔷文章均为学习和工作中整理的笔记,分享记录…...
