环境:java
前提:浏览器net setting中设置手动代理,安全中添加证书
1.proxy代理模块
拦截、查看、修改所有客户端和服务器之前传输的数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210607204239954.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80OTg4MjkwMA==,size_16,color_FFFFFF,t_70)
一、intercept功能
①Forward:将拦截到的包放行,继续发向服务器
②Drop:将拦截到的包丢弃,不会到达服务器
③Intercept is on/off:开启或关闭拦截功能
④Action:将拦截到的包发送到其他模块,相当于右击一个拦截到的包
<1>Raw:查看拦截的数据流
<2>Params:查看拦截包所带的参数
<3>Headers:查看拦截包的头信息
<4>Hex:查看拦截包的十六进制形式
二、HTTP history和WebSockets hostory功能
显示所有拦截过的包的请求及响应请求
三、Options功能
①Proxy Listeners选项:代理监听设置
②Intercept Client Requests:拦截请求设置
拦截指定的域名(域名、IP地址、协议、HTTP方法、URL、文件扩展名、参数、cookie、内容、状态码、MIME类型、HTML页面标题)
③Intercept Server Response:拦截响应设置
④Intercept WebSocket Messages:拦截websocket信息
⑤Response Modification:响应操作信息
⑥Match and Replace:匹配并替换
⑦TLS Pass Through:
⑧Miscellaneous:其他选项
2.Target模块
一、site map:站点地图
二、scope:目标域设置
过滤作用
①include in scope
②exclude from scope
三、issue definitions:
手动获取站点地图
设置代理、关闭brup拦截功能,手动浏览网页
站点比较compare site maps
同一个账号,据v有不同权限,比较两次请求结果的差异
两个不同账号,具有不同的权限,比较两次请求结果的差异
两个不同的账号,具有相同的权限,比较两次请求结果的差异
3.intruder攻击模块
可以用来爆破用户名或密码,它还可以用来当作简单的爬虫使用。
爆破:攻击者在网页上进行用户登录,抓取到用户登录request报文,配置intruder模块,让程序不断修改报文中的某个字段,相当于让程序模拟用户登录行为。
爬虫:攻击者得知可通过ID,结合Get/Post请求,获取用户真实姓名和用户邮箱。配置intruder模块,让程序不断请求,收集这个过程中出现的用户项目和邮箱
DOS:通过配置intruder模块,使用TCP洪水攻击耗尽服务器资源
一、target:Hiding待攻击的目标服务器站点、端口、SSL连接是否启用。
指定待攻击的服务器站点、端口、SSL连接是否启用
host可以是ip或者域名
二、positions:指定request发包前要修改发参数位置,以及字典如何填充到参数中
sniper:狙击手模式,字典里取一行,打一发请求
Battering ram:散弹枪模式,字典里取一行,打一发请求。相同的输入放到多个位置的情况,所有位置填充一样的值
pitchfork:音叉模式,每个位置都有一个字典,打一发请求,大家一起取下一行,请求的数量由字典行最少的那位决定
Cluster bomb:集束炸弹,最复杂的一个模式,类似于数学中的笛卡尔积,每个字典都有一个字典,通常字典数量不超过3个,不然破解时间 较长
三、payloads:指定“字典”,以及每次取出字典时,是否进一步编码字典
用来配置一个或多个有效负荷的集合。如果定义了“cluster bomb”和“pitchfork”攻击类型,然后必须为每定义的有效负配置一个单独的有效负荷
①payload sets:payload数量类型设置
Simple list:简单字典
Runtime file:运行文件
Custom iterator:自定义迭代器
Character substitution:字符替代
Recursive grep:递归查找
Lllegal unicode:非法字符
Character blocks:字符块
number:数字组合
dates:日期组合
Brute forcer:暴力破解
Null payload:空
Username generator:用户名生成
Copy other payload:复制其他payload
②payload options:有效载荷类型,根据payload sets中的payload typr的设置改变
③payload processing:有效载荷处理,对生成的payload进行编码,加密,截取等操作
添加规则:
Add prefix:添加一个文字前缀
Add suddix:添加一个文字后缀
Match/replace:将替换匹配特定正则表达式的有效载荷的任何部位,用一个文字字符串表示
Sunstring:崎岖有效载荷的子部分,从指定的偏移量和和指定长度开始
Reverse substring:对于子规则来说,从最后开始算偏移和长度
Modify case:
④payload encoding:有效载荷编码,url编码
对这些字符进行url编码
四、options:发包(收包)细节,发包速度,发包记录是否保存,每一次发包后是否要更新请求头、是否主动声明请求连接已关闭、收包时匹配到那些数据要记录
①request headers:设置控制在intruder是否更新配置请求头
②request engine:设置发送请求的线程、超时重试
Number of threads:设置并发线程数
Number of reties on network failure:网络故障的重试次数-如果出现连接错误或其他网络问题,重试的次数
Pause before retry:重试等待的时间,单位毫秒
Throttle :两个请求之间的等待时间
Start time:开始时间
③attack results:设置攻击结果显示
Use denial-of-service mode(no results):拒绝服务,不接受服务器的应答
④grep -match:在响应中找出存在指定内容的一项
Case sensitive match:区分大小写匹配,指定检查表达式是否区分大小写
Exclude HTTP headers:排除HTTP头
⑤grep -extract:通过正则提取返回信息中的内容
⑥grep -payload:
⑦redirections:重定向响应
4、spider蜘蛛爬行模块
通过跟踪html和javascript以及提交的表单中的超链接映射目标应用程序,它还使用了一些其他的线索,二u目录列表,资源类型的注释,以及robots.txt文件,结果会在站点地图中以树和表的形式显示出来
前提:
一、Control
①spider status:用来开始和停止burp spider,监听它的进度,以及定义spidering的范围
Requests made:已发送的请求
Bytes transferred:传输的字节
Requests queued:未发送的请求
Foems queued:排队的表格
②spider scope
二、options
①crawler settings
Check robots.txt:检测robot.txt文件
②passive spidering:被动扫描
③form submission:表单提交,设置spider是以何种方式提交html表单
individuate forms:个性化的形式
Don’t submit:开启后蜘蛛不会提交任何表单
prompt for guidance:提醒向导
automatically submit:自动提交
set unmatched fields to:设置不匹配的字段
④applicationlogin:设置蜘蛛提交登录表单的方式
don't submit login forms:不提交登录表单
prompt for guidance:提示向导
handle as ordinary forms:以一般形式处理,通过你配置的信息和自动填充规则,用处理其他表单的方式来处理登陆表单。
automatically submit these credentials:自动提交自定义的数据
⑤spider engine:控制用于在扫描时进行THHP请求的引擎
Number of threads - 设置请求线程。控制并发请求数。
Number of retries on network failure - 如果出现连接错误或其他网络问题,重试的次数
Pause before retry - 当重试失败的请求,下一次尝试的时间间隔
Throttle between requests:在每次请求之前等待一个指定的延迟(以毫秒为单位)
Add random variations to throttle:添加随机的变化到请求中。增加隐蔽性。
⑥request headers
5、scanner模块
扫描器扫描类型:主动扫描、被动扫描
一、issue activity:发出活动
查看扫描的漏洞具体信息,可以对内容进行自定义标记,导出报告
二、scan queue:扫描队列
显示扫描进度的详情,可以显示漏洞详情,重新扫描,暂停扫描。将扫描信息发送至其他模块
三、living scanning:
主动扫描:当手工浏览网页时,主动发送大量探测请求来确认是否会对目标系统由性能压力,适合离线环境
被动扫描:当手工浏览网页时,基于原有网页数据进行探测,不在发送请求,压力小
默认被动扫描,当爬取网页时,scanner会自动进行
四、issue definitions:漏洞详情
五、options
①attack insertion points:攻击插入点
②active scanning engine:主动扫描引擎
③active scanning optimization:主动扫描优化
④active scanning areas:主动扫描范围
6、repeader中继器模块
手动修补并补发个别http请求,并分析响应的工具
可以从proxy history、site map、scanner等模块右键发送到该模块进行数据修改
go:发送请求,右边响应请求
<>:返回上一次和下一次操作
×:删除当前测试请求页面
7、sequencer定序器模块
用于分析数据项的一个样本中的随机质量,测试应用程序的session tokens 或其他数据,如反弹CSRF tokens 密码重置tokens
一、live capture信息截取
①select live capture request:选择实时捕获请求
②token location within response:令牌在响应中的位置
③live capture options:实时捕获项
开始分析
二、manual load手动加载
允许使用以获取的标记样本加载定序器,然后对样本执行统计分析
三、analysis options选项分析
①token handling:令牌处理
设置控制令牌在分析期间处理
②token analysis:令牌分析
8、decoder模块
用于将原始数据转换成各种编码和哈希表
9、comparer比较器模块
对比分析两次数据之间的区别
使用场景:①枚举用户名过程中,对比分析等罗成功和失败时,复渠段反馈结果的区别
②使用intruder进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪
③在进行sql注入的盲注测试时,比较两次响应消息的差异,判断响应结果与诸如条件的关联关系
过程:加载数据,进行对比
点击words或byte进行结果显示