发布时间:2023-08-17 12:30
一、Burpsuite安装与配置
1.Burpsuite功能介绍
(1)Burpsuite是用于攻击web应用程序的集成平台,包含了许多工具
(2)Burpsuite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个个请求,并能处理对应的HTTP消息、持久性、认证、代理、警报
(3)Burpsuite使用JAVA语言编写,所以是一款跨平台的软件。但在测试过程中不像其他自动化测试工具不需要输入任何内容即可完成,而是需要手动配置某些参数触发对应的行为才会完成测试
2.Burpsuite版本区别
(1)Burputie官方网站:https://portswigger.net/burp/
(2)最主要区别:web漏洞扫描能力
3.Burpsuite的JAVA环境安装
(1)JAVA官方下载链接:https://www.java.com/zh_CN/
4.安装Burpsuite
(1)下载Burpsuite
(2)使用激活码激活Burpsuite
(3)打开Burpsuite,开始使用
6.配置浏览器代理(以火狐浏览器为例)
8.在浏览器中安装Burpsuite CA证书(链接百度时出现不安全时安装)
(1)使用系统管理员权限打开浏览器
(2)在浏览器输入http://burp/
(3)安装CA证书
a.受信任的根凭证
二、Burpsuite Proxy模块设置
1.Burpsuite Proxy模块
(1)Burpsuite的Proxy是Burpsuite以用户驱动测试路程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据
2.Burpsuite Proxy模块各功能介绍
(1)Intercept介绍
a.Forward表示将截断的HTTP或HTTPS请求发送到服务器
b.Drop表示将截断的HTTP或HTTPS请求丢弃
c.Intercept is on和Intercept is off表示开启或关闭代理截断功能
d.Action表示将代理截断的HTTP或HTTPS请求发送到其他模块或做其他处理
e.对Intercept进行Raw、Hex、Params、Header切换查看不同的数据格式
(2)HTTP History介绍
a.用来查看提交过的HTTP请求
b.Filter可以过滤显示某些HTTP请求。点击Filter就可以打开。对于指定URL可以选中右键点击,执行其他操作
(3)WebSockets history与HTTP history功能类似
(4)Options介绍
a.Options具有的功能:代理监听设置、截断客户端请求、截断服务器响应、截断WebSocket通信、服务端响应修改(绕过JS验证的文件上传)、匹配与替换HTTP消息中的内容、通过SSL连接Web服务器配置、其他配置选项
b.设置Proxy Listeners来截断数据流量。比如设置监听端口等(浏览器设置要与此处相同)
c.设置Intercept Client Requests。通过设置Intercept Client Requests来截断符合条件的HTTP请求 d.设置Intercept Server Response。通过设置Intercept Server Response来筛选出符合条件的HTTP响应
e.设置截断Websocket通信以及修改Response的内容
f.匹配以及修改HTTP消息(Match and Replace)。可以修改HTTP请求和HTTP响应中的内容
g.设置使用SSL连接到web服务器。设置使用Burpsuite直接通过SSL直连到目标服务器
h.杂项设置。通过杂项设置对应的请求头等信息
三、Burpsuite抓取手机APP流量(Burpsuite与手机需在同一个局域网)
1.WebAPP介绍
(1)目前WebAPP(手机APP)的通信仍然使用HTTP协议进行对应的通信。可以通过Burp设置代理,然后手机设置网络代理,通过Burp截断手机APP流量
(3)手机网络设置。在手机网络设置中,填写对应的代理(与Burp中设置需要一致)
(4)Burpsuite开启截断(Intercept is on )
四、Burpsuite剔除JS脚本(绕过JS文件上传验证)
1.JavaScrpt是一种直译式语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早在HTML网页上使用,用来给HTML网页增加动态功能。例如:对于文件上传进行JS验证
2.Burpsuite截断响应剔除JavaScript验证
(1)在Proxy模块中的Option下Response Modification,可以进行勾选Remove all JavaScript
3.浏览器审计工具进行手动剔除js
(1)F12
(2)删除对应的JavaScript验证部分
(3)表单action部分看清楚是否还存在JS验证
五、Burpsuite Target介绍
1.Target介绍
(1)Burpsuite Target组件主要包含站点地图、目标域、Target工具三部分组成,它们帮助渗透测试人员更好地了解目标应用的整体状况、当前的工作涉及哪些目标域、分析可能存在的攻击面等信息
2.Target作用域Scope介绍
(1)Target Scope中作用域的定义比较宽泛,通常来说,当我们对某个产品进行渗透时,可以通过域名或者主机名去限制拦截内容,这里域名或主机名就是我们说的作用域;如果我们想限制得更为细粒度化,比如:只想拦截login目录下的所有请求,这是我们可以设置,此时作用域就是目录
(2)Target站点地图Site Map介绍
a.Site Map的左边为访问的URL,按照网站的层级和深度,树形展示整个应用系统的结构和关联的其他域的URL情况
b.Site Map的右边显示的是某一个URL被访问的明细列表,共访问哪些URL,请求和应答的内容分别是什么,都有在此的详细记录
c.基于左边的树形结构,我们可以选择某个分支,对指定的路径进行扫描和抓取
六、Burpsuite站点地图(Target中的Site Map)介绍
1.站点地图--目标分析
(1)通过对站点地图Site Map进行分析,分析其中页面的提交参数等
(2)右键URL-->Engagement Tools-->Analyze Target 2.站点地图--比较
(1)对于同一Web系统,不登录与登录系统是具有不同的响应的。针对这样的情况可以使用Burpsuite中的Site Map比较两者的区别
(2)拦截未登录时的包
a.通过最上方的Burp
b.Save state wizard
c.只选Target
d.保存未登录时拦截的包
(3)删除URL,重新拦截登录后的包
a.选中URL右键
b.Compare Maps
c.Use current site map
d.Use only selected branches、include in-scope items only -- 同时选
e.Load from Burp state file -- 选择之前保存的未登录时的包文件
(4)进行比较
七、Burpsuite Spider介绍
1.Burpsuite Spider介绍
(1)Burpsuite Spider的功能主要使用于大型的应用系统测试,它能在很短的时间内帮助我们快速地了解系统的结构和分布情况
2.Burpsuite Spider功能模块介绍
(1)Control
a.具有开关爬虫的功能,以及设置爬取目标。默认在Target设置
(2)Option。由抓取设置、抓取代理设置、表单提交设置、应用登录设置、蜘蛛引擎设置、请求消息头设置六个部分组成
a.Crawler Setting(抓取设置)
b.Passive Spidering(被动抓取,不与服务器发生交互)
c.Form Submission(表单提交,用来匹配和自动提交表单内容)
d.Application Login(设置应用程序登录)
e.Spider Engine(蜘蛛爬虫引擎)
f.Request Headers(设置爬虫HTTP消息头)
八、Burpsuite 漏洞扫描介绍
1.Burpsuite Scanner介绍
(1)Burpsuite Scanner的功能主要是用来自动检测web系统的各种漏洞。可以使用Burpsuite Scanner代替手工去对系统进行普通类型的渗透测试,从而能使我们把更多的精力放在那些必须要人工去验证的漏洞上
2.Burpsuite Scanner各功能介绍
(1)Scan queue(扫描队列,包含了扫描进度)
(2)Live Scanning(扫描配置)
a.Live Active Scanning -- 主动扫描(默认Don't scan)
b.Live Passive Scanning -- 被动扫描(默认扫描所有)
(3)Issue definitions -- 查看支持的漏洞扫描
(4)Options
a.Attack Insertion Points -- 设定探测位置
b.Active Scanning Engine -- 主动扫描引擎
c.Active Scanning Optimization -- 最优化主动扫描
d.Scan Issues -- 设定探测漏洞
e.Static Code Analysis -- 设定静态代码分析
(5)实战:主动扫描漏洞。针对存在漏洞的Web应用程序进行主动扫描,分析漏洞,并导出漏洞报告
c.点击URL,右键 --> Active Scan this host
d.选择Remove items with the following extensions [0 items](其他看情况,不清楚就默认)
e.next
f.OK(然后Scanner就会开始探测)
g.点击Scanner
i.issue activity -- 点击具体漏洞可查看详细信息
j.导出漏洞报告(导出的文件打开前要添加对应的后缀,否则无法打开)
k.选择对应的导出格式,然后一直点击next,倒数第二步选择导出路径
l.完成,打开查看
九、Burpsuite Intruder模块介绍
1.介绍
(1)在渗透测试过程中,经常使用Burpsuite Intruder
(2)工作原理:Intruder在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通常会携带一个或多个有效的攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据
2.使用场景
(1) 标识符枚举Web应用程序经常使用标识符来标识用户、账户、资产等数据信息
(2)提取有用的数据。在某些场景下,而不是简单地识别有效的标识符,你需要通过简单标识符提取一些其他的数据
(3)(重点)模糊测试,很多输入型的漏洞,比如SQL注入,跨站脚本和文件路径比那里可以通过请求参数提交各种测试字符串,并分析错误信息和其他异常情况,来对应用程序进行检测。由于应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程。这种场景,可以设置Payload,通过Burpsuite
3.使用步骤
(1)设置代理,开启Burpsuite截断需要测试的HTTP请求
(2)将截断的请求发送到Burpsuite Intruder,设置Payload测试
(3)筛选Intruder结果,选取有用信息
4.Burpsuite枚举课程信息
(1)使用Burpsuite Intruder枚举课程信息
(2)http://edu.51cto.com/course/12803.html(这里加粗的数字不同)
(4)Intruder
a.Position--Attack Type选择Sniper、选择对应的数字(这里例子为12803)添加变量
十、Burpsuite暴力破解用户密码
1.暴力破解用户密码
(1)针对用户名和密码的破解,可以有以下方式:
a.已知用户名,未知密码(一个变量)
b.用户名和密码都未知(两个变量)
c.已知密码,未知用户名(一个变量)
2.利用Burpsuite Intruder模块进行暴力破解(爆破DVWA的Low级别的Brute-Force板块的登录)
(1)首先,打开截断,然后在Brute-Force板块输入错误的登录名和密码,点击登录
(3)Intruder的Positions
a.Attack type选择 --> Cluster bomb(单个变量选择Sniper)
b.Clear$(清除变量)
(4)Intruder的Payloads
b.第二个变量对应第二个字典,两个设置好,点击Start Attack执行
c.爆破结果