【工具使用】BurpSuite抓包工具使用详解 | 您所在的位置:网站首页 › 水滴抓包需要多久完成 › 【工具使用】BurpSuite抓包工具使用详解 |
文章目录
一、Burpsuite简介二、Burp下载和安装下载
三、Burp常用模块Proxy代理模块Repeater 重放模块Intruder 入侵者模块Comparer 对比模块Decoder 解码模块Logger 日志模块Target 模块Extender 插件模块Dashboard 视图模块User options
一、Burpsuite简介
Burpsuite是一个用于测试Web应用程序安全性的图形化工具。该工具使用Java编写,由PortSwigger Web Security开发。 该工具有三个版本。可以免费下载的社区版、专业版和试用后可以购买的企业版。社区版减少了许多功能。它是为网络应用程序安全检查提供全面解决方案而开发的。除了Proxy,Scanner和Intruder等基本功能外,该工具还包含更高级的选项,如Spider、Repeater、Decoder、Comparer、Extender和Sequencer。 二、Burp下载和安装 下载portswigger.net官网下载BurpSuite专业版或社区版的安装程序 访问下面的链接,即可选择不同平台的Burpsuite最新稳定版本进行下载 专业版:https://portswigger.net/burp/releases#professional Proxy模块允许用户拦截浏览器和目标服务器之间发送的HTTP请求和响应,用户可以在intercept子模块中选择开启拦截(intercept is on)或者关闭请求拦截(intercept is off) 右键菜单 当用户拦截到http请求以后,即可点击Action选择将当前的http请求进行不同的行动,或者在http请求的内容界面点击右键,同样可以唤出菜单 点击Scan以后即可唤出漏洞扫描的主菜单,用户可以配置扫描类型以及具体的参数 将当前请求发送至入侵模块,用户可根据当前http请求信息定制相应攻击载荷 将当前请求发送至重放模块,用户可以定制请求的具体内容,并且查看返回内容 将当前请求发送至对比模块,用户可以根据多个http请求信息来对比相关差异性 使用浏览器的源session(In original session)或者使用当前浏览器的session(In current browser session)发送请求 用户可以使用此功能更改当前HTTP的请求类型,如果是GET请求则会更改成POST,POST请求则会更改成GET 可以将当前HTTP请求体的内容更改为文件上传时所用的请求体 to this host 用户请求的当前主机不进行拦截 to this IP address 用户请求的当前的IP不进行拦截 for this file extension当前URL的文件扩展不进行拦截 for this directory 当前URL的目录名称不进行拦截
URL-encode as you type Cut 剪切 Copy 复制 Paste 粘贴 Message editor documentation Proxy interception ducumentation HTTP请求历史 用户可以在当前子菜单中查看HTTP请求的历史信息 代理监听选项 用户可以设置当前Burpsuite所监听的端口,用户需要配置浏览器的代理选项,当前的这个代理即是浏览器的代理地址 Binding设置burp绑定的代理服务器监听地址及端口 Bind to address 绑定的地址 Bind to address > Loopback only 仅绑定本机地址 Bind to address > All interfaces 绑定所有接口 Bind to address > Specific address 绑定具体的内网地址 可以使用Specific address模式来对内网特定的主机进行拦截,比如测试安卓app时,或微信小程序,只要设置好代理HTTP即可拦截到HTTP请求 Request handling 请求处理选项 Support invisible proxying(enable only if needed 隐形代理选项 通常,Web 代理需要在请求的第一行接收完整的 URL,以确定将请求转发到哪个目标主机(它们不查看 Host 标头来确定目标)。如果启用了不可见代理,当 Burp 收到任何非代理样式的请求时,它将解析出 Host 标头的内容,并将其用作该请求的目标主机。 当使用带有代理的 HTTPS 时,客户端发送一个 CONNECT 请求来标识他们希望连接的目标主机,然后执行 SSL 协商。但是,非代理感知客户端将直接进行 SSL 协商,认为它们直接与目标主机通信。如果启用了不可见代理,Burp 将容忍客户端直接协商 SSL,并再次从解密请求中解析出 Host 标头的内容。 Certificate(证书) 配置TLS证书(HTTPS证书)用于解决使用代理拦截HTTPS协议时出现的问题 Generate CA-signed per-host certificates 这是用户默认选项。安装证书后,Burp会创建一个自签名的(CA)证书,并将其存储在用户的计算机上,当用户的浏览器与目标主机建立TLS连接时,Burp为该主机生成一个由CA证书签名的TLS证书。用户可以在浏览器中安装Burp的CA证书作为受信任的根证书,这样每台主机的证书就会被接受,而不会发出任何警告。用户还可以导出CA证书,以便在其他工具或Burp的其他实例中使用。 Generate a CA-signed certificate with a specific hostname Burp将使用您指定的主机名生成一个单独的主机证书,用于每个TLS连接。在执行不可见代理时,这个选项有时是必要的,因为客户机不发送CONNECT请求,因此Burp在TLS协商之前无法识别所需的主机名。与前面一样,用户可以将Burp的CA证书安装为受信任的根证书。 TLS protocols 配置控制Burp在与浏览器进行TLS协商时将使用的TLS协议。您可以将Burp配置为使用Java安装的默认协议,或者覆盖这些默认协议并根据需要启用定制协议。 用户设置这些选项用于自动修改响应。通过自动重写应用程序响应中的HTML,使用这些选项来实现各种任务。 以下选项可能有助于删除客户端对数据的控制: 取消隐藏的表单字段。(有一个子选项,可以在屏幕上突出显示未隐藏的字段,以便识别。) 启用禁用的表单字段 删除输入字段长度限制 删除JavaScript表单验证 下面的选项可能对测试目的禁用客户端逻辑有用(注意,这些特性不是被设计为以NoScript的方式作为安全防御): 删除所有JavaScript 删除标记 以下选项可用于对通信无意中通过Burp代理的受害用户提供类似sslstrip的攻击。用户可以将这些选项与侦听器选项结合使用,在传出请求中强制TLS,从而有效地从用户连接中剥离TLS: 将HTTPS链接转换为HTTP 从cookies中移除安全标志 用户设置用于自动替换经过代理的部分请求和响应。对于每个HTTP消息,依次执行启用的匹配和替换规则,并进行任何适用的替换。 这些设置用于指定Burp将直接通过TLS连接目标web服务器。Proxy intercept视图或历史记录中没有关于通过这些连接发出的请求或响应的详细信息。 在客户端不能直接消除TLS错误的情况下,通过TLS连接可以很有用,例如,在执行TLS证书固定的移动应用程序中。如果应用程序访问多个域,或者混合使用HTTP和HTTPS连接,那么通过TLS连接到特定的问题主机仍然可以让用户使用Burp以正常方式处理其他流量。 如果启用了客户端TLS协商失败时自动添加条目的选项,那么当客户端TLS协商失败时,Burp将检测(例如,由于不识别Burp的CA证书),并自动将相关服务器添加到TLS通过列表。 这些设置控制Burp Proxy行为的一些特定细节。有以下选项: 在对服务器的请求中使用HTTP/1.0——这个选项控制Burp Proxy是否在对目标服务器的请求中强制使用HTTP 1.0版本。默认设置是使用浏览器使用的任何HTTP版本。然而,一些历史服务器或应用程序可能需要1.0版本才能正常工作。 在响应客户端时使用HTTP/1.0 -当前所有浏览器都支持1.0和1.1版本的HTTP。由于1.0版本的特性集较少,因此强制使用1.0版本有时可以有效地控制浏览器行为的某些方面,比如阻止执行HTTP管道。 设置响应头Connection: close——在某些情况下,这个选项也可以用来阻止HTTP管道。 在传入的请求上设置Connection: close——这个选项在某些情况下也可以用来阻止HTTP管道。 在传入的请求中条带代理-*报头-浏览器有时会发送请求报头,其中包含用于正在使用的代理服务器的信息。一些攻击存在,恶意网站可能试图诱导浏览器在这些标头中包含敏感数据。默认情况下,Burp Proxy将这些头从传入的请求中剥离,以防止任何信息的泄漏。不选中此选项将导致Burp不修改这些标题。 从传入请求的accept - encoding头中删除不支持的编码——浏览器通常会在响应中提供接受各种编码,例如压缩内容。在处理Burp响应时,一些编码会导致问题。默认情况下,Burp删除不支持的编码,以减少使用它们的机会。如果服务器要求支持不受支持的编码,那么您可能需要取消此选项。 在传入的请求中Strip Sec-WebSocket-Extensions头——浏览器可能提供支持与WebSocket连接相关的各种扩展,例如内容压缩。在处理Burp响应时,一些编码会导致问题。默认情况下,Burp删除这个头以减少扩展被使用的机会。如果服务器授权了一个特定的扩展,那么你可能需要取消这个选项。 在请求中解压GZIP / deflate—一些应用程序(通常是那些使用定制客户端组件的应用程序)压缩请求中的消息体。此选项控制Burp Proxy是否自动解压缩请求体。请注意,如果某些应用程序期望压缩的body,而该压缩已经被Burp删除,那么它们可能会中断。 在响应中解压GZIP / deflate-大多数浏览器接受GZIP-并在响应中解压压缩的内容。此选项控制Burp Proxy是否自动解压缩响应体。请注意,用户通常可以通过删除请求中的Accept-Encoding头(可能使用Burp Proxy的匹配和替换特性)来阻止服务器试图压缩响应。 在http://burp上禁用web界面——如果你被迫配置你的监听器来接受一个不受保护的接口上的连接,并且希望阻止其他人访问Burp的浏览器内接口,这个选项可能会有用。 在浏览器中关闭Burp错误消息——当某些错误发生时,默认情况下Burp会向浏览器返回有意义的错误消息。如果您希望以隐形模式运行Burp,以对受害用户执行中间人攻击,那么可能需要抑制这些错误消息,以掩盖涉及Burp的事实。 不要向代理历史记录或活动任务发送项目——这个选项阻止Burp记录任何请求到代理历史记录或将它们发送到活动任务,例如被动爬行或活动审计。如果您将Burp Proxy用于某些特定目的,例如对上游服务器进行身份验证或执行匹配-替换操作,并且您希望避免日志记录所带来的内存和存储开销,那么它可能会很有用。 如果超出范围,不要将项目发送到代理历史记录或活动任务——这个选项阻止Burp将任何范围外的请求记录到代理历史记录或将它们发送到活动任务,例如被动爬行或活动审计。避免积累范围外项的项目数据是很有用的。 Repeater 重放模块Repeater 在重放模块中,用户可以自定义HTTP请求进行发送,并且可以观察当前请求的返回结果 send 发送请求按钮,在窗口中将HTTP请求协议构造好以后用户即可发送 cancel 取消请求按钮,如果服务器端响应时间过长可点击该按钮取消当前请求 Attack target 攻击目标 该选项用于配置攻击目标服务器的详细信息 Host 这是目标服务器的IP地址或主机名。Port HTTP/S协议的端口号。 useHTTPS 指定是否应该使用TLS协议。 配置这些细节的最简单方法是在Burp中任意位置选择您想要攻击的请求,并选择上下文菜单上的Send to Intruder选项。这将把选中的请求发送到Intruder中的新选项卡,并将自动填充Target和Positions选项卡。 有效载荷位置 此选项卡用于配置攻击的请求模板、有效载荷标记和攻击类型(它决定将有效载荷分配到有效载荷位置的方式)。 Attack type 该选项用户配置攻击的类型 Sniper 狙击手 在狙击手模块的有效载荷位置,用户可以自定义参数变量,用户可配置多个参数进行模糊测试,在此模式中,如果用户指定了多个变量,则burp通过逐行读取字典内容,并且多个变量会被迭代枚举 Battering arm 攻城锤 在攻城锤模块的有效载荷位置,用户可以自定义参数变量,用户可配置多个参数进行模糊测试,在此模式中,如果用户指定了多个变量,则burp通过逐行读取字典内容,并且多个变量会被同步枚举 Pitchfork 干草叉 在攻城锤模块的有效载荷位置,用户可以自定义参数变量,用户可配置多个参数进行模糊测试,在此模式中,如果用户指定了多个变量,则burp通过变量的位置指定字典,逐行读取字典内容,并且多个变量会被同步枚举 Cluster bomb 集束炸弹 在攻城锤模块的有效载荷位置,用户可以自定义参数变量,用户可配置多个参数进行模糊测试,在此模式中,如果用户指定了多个变量,则burp通过变量的位置指定字典,burp通过逐行读取字典内容,并且多个变量会被迭代枚举 Payload Sets 载荷设置,burp内置了不同类型的字典可供用户选择,用户可以根据实际情况进行选择 Save Options 该设置允许用户将当前攻击的配置保存到当前项目文件 Request Headers 该设置用于控制Intruder模块发送请求时用户是否更新HTTP的请求报头 Error handling 该设置用于控制Intruder在发送请求期间如何处理网络错误 Attack Results 该设置用于控制Intruder攻击的返回结果信息 Grep-Match 该设置可用于标记包含指定表达式的结果项 Grep-Extract 该设置可用于从响应中提取有用信息到攻击结果表中。对于列表中配置的每个项目,Burp将添加一个新的结果列,其中包含为该项目提取的文本。然后可以对该列进行排序(通过单击列标题),对提取的数据进行排序。 Grep-payloads 该设置可用于标记包含提交payload返回的结果项 Comparer模块是Burp内置的HTTP请求对比模块 proxy界面拦截http请求,右键发送至Comparer Decoder模块是Burp内置的加解密模块,用户可选择自定义的加密或解密方式进行使用 加密 Encode 加密
Decode解密 Burp 中的日志模块,主要用于查看burp代理,burp第三方模块运行的日志信息 View filter 点击视图过滤 即可在面板中根据自定义规则来进行筛选 Logging On 关闭或打开日志功能 target模块在burp中用于显示测试的目标范围 Contents 功能用于查看当前目标请求过的URL具体路径以及请求方式 Request 功能用于查看当前目标的具体HTTP请求 Issues 功能用于查看当前目标扫描出来的风险 该功能用于过滤及筛选测试的目标范围 include in scope 测试目标仅包括指定的范围 exclude in scope 测试目标排除在制定的范围 插件添加 Burp Extender 当前已经加载的插件模块信息 Add 添加 Remove 删除 BApp Store burp在线插件商店,用户可以在线进行安装burp插件 Burp extender APIS burp 插件开发的API接口信息(java平台) Java environment java环境的插件加载 python enviroment python环境插件加载 ruby enviroment ruby 环境插件加载 Tasks 任务视图,用户可以在当前界面下查看被动扫描与主动扫描的日志信息 用户可以在Filter 过滤器中根据任务的状态进行筛选 Event Log 事件视图,用户可以在当前界面下查看插件的一些扫描日志信息 用户可以在Filter过滤器中根据事件的级别进行筛选 Issue activity 风险视图,用户可以在当前界面下查看到已扫描出来的漏洞风险信息 用户可以在Filter过滤器中根据漏洞的风险级别进行筛选 代理 Upstream proxy 上游代理 burp将抓取到到的请求通过上游代理转发到指定的服务器,例如用户可以通过配置上游代理实现burp获取流量,然后将流量转发给xray进行漏洞扫描 Socks proxy socks代理 burp配置前置的socks代理 User Interface 配置burp用户界面的字体大小 HTTP Message Display 配置burp请求内容的字体大小 |
CopyRight 2018-2019 实验室设备网 版权所有 |