- 抓包流程:浏览器输入内容–>流量经过Burp–>点击Forward/Drop
- 点击Forward:数据继续传输
- Drop:本次通过的数据将丢失,不再继续处理
- 当Burp Suite拦截的客户端和服务器交互之后,可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp有四种消息类型显示数据包:
- Raw:主要显示Web请求的raw格式,以纯文本的形式显示数据包,包含请求地址、HTTP协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试
- Params:主要显示客户端请求的参数信息,包括GET或者POST请求的参数、cookie参数。可以通过修改这些请求参数完成对服务器端的渗透测试(此版本没有)
- Headers:显示的是数据包中的头信息,以名称、值的形式显示数据包(此版本没有)
- Hex:对应的是Raw中信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改,在进行00截断的时候非常好用
Spider(此版本为Target):
- Spider的蜘蛛爬行功能可以帮助我们了解系统的结构,其中Spider爬取到的内容将在Target中展示
左侧为一个主机和主目录树,选择具体某一个分支即可查看对应的请求与响应
Decoder:
- Decode的功能很简单,就是Burp自带的编码解码以及散列转换的工具,能对原始数据进行各种编码格式和散列的转换
- 输入域:显示的是需要编码/解码的原始数据,可直接填写或粘贴,也可以通过Burp的"Send to Decoder"选项发送过来
- 输出域:显示的是对输入域中原始数据进行编码/解码的结果
- 编码选项由三个部分构成:
- Decode as(解码选项):
- Encode as(编码选项):
- URL
- HTML
- Base64
- ASCII
- 十六进制
- 八进制
- 二进制
- GZIP
- Hash(散列):只列举一部分
- SHA
- SHA-224
- SHA-256
- SHA-384
- SHA-512
- MD2
- MD5
- 对同一数据,可以在Decode界面进行多次编码、解码的转换
Burp Suite进阶:
Scanner:
- 主要用于自动检测web系统的各种漏洞
- 1.确认Burp Suite正常启动并完成浏览器代理的配置
- 2.进入Burp Proxy,关闭代理拦截功能,快速浏览需要扫描的域或URL模块,此时在默认情况下,Burp Scanner会扫描通过代理服务的请求,并对请求的消息进行分析来辨别是否存在系统漏洞
- 3.打开Burp Target时,也会在站点地图中显示请求的URL树
- 4.网站测试:
- 选择Burp Target的站点地图选项下的链接,在其链接URL右击选择"Actively scan this host",此时会弹出过滤设置,保持默认选项即可扫描整个域
- 也可以在Proxy下的HTTP history中,选择某个节点上的链接URL并右击选择"Do an active scam"进行扫描
- 此时,Burp Scanner开始扫描,在Scanner界面下双击即可看到扫描结果
- 可以在扫描结果中选中需要进行分析的部分,然后将其发送到repeater模块中进行模拟提交分析和验证
- 5.漏洞报告:
- 当scanner扫描完成后,可以右击Burp Target站点地图选项下的链接,依次选择"issues"–>"Report issues"选项,然后导出漏洞报告
- 然后将漏洞报告以HTML文件格式保存
Burp的扫描方式:
主动扫描(Active Scanning):
- Burp会向应用发送新的请求并通过payload验证漏洞。这种模式下的操作会产生大量的请求和应答数据,直接影响服务端的性能,通常用于非生产环境
- 适用于两类漏洞:
- 客户端的漏洞:
- XSS、HTTP头注入、操作重定向
- Burp在检测时会提交input域,然后根据应答的数据进行解析。在检测过程中,Burp会对基础的请求信息进行修改,即根据漏洞的特征对参数进行修改,模拟人的行为,以达到检测漏洞的目的
- 服务端的漏洞:
- SQL注入、命令行注入、文件遍历
- 以SQL注入为例,服务端有可能返回数据库错误提示信息,也有可能什么都不反馈。Burp在检测过程中会采用各个技术验证漏洞是否存在,例如诱导时间延迟、强制修改Boolean值、与模糊测试的结果进行比较,以提高漏洞扫描报告的准确性
- 客户端的漏洞:
被动扫描(Passive Scanning):
- Burp不会重新发送新的请求,只是对已经存在的请求和应答进行分析,对服务端的检测来说,这比较安全,通常适用于生产环境的检测。
- 以下漏洞在被动模式中容易被检测出来:
- 提交的密码为未加密的明文
- 不安全的cookie的属性,例如缺少HttpOnly和安全标志
- cookie的范围缺失
- 跨域脚本包含和站点引用泄露
- 表单值自动填充,尤其是密码
- SSL保护的内容缓存
- 目录列表
- 提交密码后应答延迟
- session令牌的不安全传输
- 敏感信息泄露,例如内部IP地址、电子邮件地址、堆栈跟踪等信息泄露
- 不安全的ViewState的配置
- 错误或不规范的Content-Type指令
- 被动扫描模式相比主动模式有很多不足,但具备主动模式不具备的优点。除了对服务端的检测比较安全,当某种业务场景的测试每次都会破坏业务场景的某方面功能时,可以使用被动扫描模式验证是否存在漏洞,以减少测试的风险
Intruder:
- Intruder是一个定制的高度可配置的工具,可以对web应用程序进行自动化攻击,如通过标识符枚举用户名、ID和账户号码,模糊测试,SQL注入,跨站,目录遍历等
- 工作原理:Intruder在原始请求数据的基础上,通过修改各种请求参数获取不同的请求应答。在每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析获得需要的特征数据
- 应用场景:
- 标识符枚举:
- WEB应用程序经常使用标识符引用用户、账户、资产等数据信息。例如:用户名、文件ID和账户号码
- 提取有用的数据:
- 在某些场景下,不是简单的识别有效标识符,而是通过简单标识符提取其他数据。例如:通过用户的个人空间ID获取所有用户在其个人空间的名字和年龄
- 模糊测试:
- 很多输入型的漏洞(如SQL注入、跨站脚本攻击和文件路径遍历)可以通过请求参数提交各种测试字符串,并分析错误消息和其他异常情况,来对应用程序进行检测。受限于应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程,因此可以设置payload,通过Burp Intruder自动化的对web应用程序进行模糊测试
- 标识符枚举:
- Intruder模块爆破成功的前提是你有一个好的字典:
- Attack Type:
- sinper:
- 使用单一的payload组
- 它会对每个位置设置payload
- 这种攻击类型适用于对常见漏洞中的请求参数单独进行Fuzzing测试的情景
- 请求总数应该是position数量和payload数量的乘积
- Battering ram:
- 使用单一的payload组
- 它会重复payload并一次性把所有相同的payload放入指定的位置中
- 这种攻击适用于需要在请求中把相同的输入放到多个位置的情景
- 请求总数是payload组中payload的总数
- Pichfork:
- 使用多个payload组
- 攻击会同步迭代所有的payload组,把payload放入每个定义的位置中
- 这种攻击非常适合在不同位置中需要插入不同但相似输入的情况
- 请求的数量应该是最小的payload组中的payload数量
- Cluster bomb:
- 使用多个payload组
- 每个定义的位置中有不同的payload组
- 攻击会迭代每个payload组,每种payload组合都会被测试一遍
- 这种攻击适用于在位置中需要不同且不相关或者未知输入攻击的情景
- 攻击请求的总数是各payload组中payload数量的乘积
- sinper:
- 之后选中字典:
- 可对status或Length的返回值进行排序
Repeater:
- 可以手动修改、补发个别HTTP请求,并分析它们响应
- 最大的用途就是能和其他Burp Suite工具结合起来使用
- 可以将目标站点地图、Burp Proxy浏览记录、Burp Intruder的攻击结果,发送到Repeater上,并手动调整这个请求来对漏洞的探测或攻击进行微调
- Repeater的分析选项:
- Raw:
- 显示纯文本格式的消息。在文本面板的底部有一个搜索和加亮的功能,可以用来快速定位需要寻找的字符串,如出错消息。利用搜索栏左边的弹出项,能控制状况的灵敏度,以及是否使用简单文件或十六进制进行搜索
- Params(已经取消):
- 对于包含参数(URL查询字符串、cookie头或者消息体)的请求,Params选项会把这些参数显示为名字/值得格式,这样就可以简单得对他们进行查看和修改了
- Headers(已经取消):
- 以名字/值得格式显示HTTP的消息头,并且以原始格式显示消息体
- Hex:
- 允许直接编辑由原始二进制数据组成的消息
- Pretty:
- 原始页面,可以发现页面中无法发现的内容
- Rander:
- 就是用浏览器打开的那个界面
- Raw:
- Repeater的作用:
- 请求与响应的消息验证分析
- 修改请求参数、验证输入的漏洞
- 修改请求参数、验证逻辑越权
- 从拦截历史记录中,捕获特征性的请求消息进行请求重放
- 请求与响应的消息验证分析
- Repeater操作界面:
- 左边的Request为请求消息区
- 右边的Response为应答消息区
- 请求消息区显示的是客户端发送的请求消息的详细信息
- 应答消息区显示的是请求消息区的请求消息
Comparer:
- 主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别
- 用到的场合:
- 枚举用户名的过程中,对比分析登录成功和失败时,服务端反馈结果的区别
- 使用Intruder进行攻击时,对于不同的服务端响应,可以很快分析出两次响应的区别在哪里
- 进行SQL注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系
- 步骤:
- 1.数据加载
- 常用方式:
- 从其他工具通过上下文菜单转发过来
- 直接粘贴
- 从文件中加载
- 常用方式:
- 1.数据加载
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
…(img-qH9jjKDW-1715546290994)]
[外链图片转存中…(img-Y2ZgEJ7E-1715546290995)]
[外链图片转存中…(img-CLhNam80-1715546290995)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!