Suite是一款功能强大的抓包软件,广泛用于测试Web应用程序的安全性。它提供了许多工具和功能,包括拦截和修改HTTP请求、检测Web漏洞、模拟攻击等。它的主要功能包括:
代理服务器:通过Burp Suite的代理服务器,用户可以拦截并修改浏览器发送的HTTP请求,从而分析请求和响应。
漏洞扫描器:Burp Suite的漏洞扫描器可以扫描Web应用程序以发现常见的漏洞类型,如SQL注入、跨站点脚本(XSS)等。
重放器:重放器可以重现已拦截的HTTP请求,以便进行漏洞复现和测试。
拦截器:Burp Suite的拦截器可以用于手动修改HTTP请求和响应,以便进行更深入的测试。
下载
portswigger.net
官网下载BurpSuite
专业版或社区版的安装程序
访问下面的链接,即可选择不同平台的Burpsuite
最新稳定版本进行下载
专业版:https://portswigger.net/burp/releases/professional-community-2022-2-4?requestededition=professional
社区版:https://portswigger.net/burp/releases/professional-community-2022-2-4?requestededition=community
Proxy代理模块
浏览器代理先设置127.0.0.1:8080,为了方便切换代理,可以使用插件,我这里用的是FoxyProxy
1.发送包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLh88hyX-1684143271163)(/root/md/dfaf/image-20230514135831836.png)]
这是一个HTTP请求报文,其中包含了浏览器发送给服务器的请求信息。具体来说,这个请求报文中包含了以下信息:
- 请求方法:GET,表示浏览器请求获取服务器上的资源。
- 请求的URI:“/”,表示请求的是服务器根目录下的资源。
- 使用的协议版本:HTTP/2。
- Host字段:请求的目标主机名,这里是"www.shiguo.life"。
- Cookie字段(主机头):表示在之前的会话中浏览器存储的与服务器相关的cookie信息,用于在不同请求之间保持会话状态。
- User-Agent字段:发送请求的客户端(浏览器)的用户代理信息,这里是Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0。
- Accept字段:浏览器可接受的响应内容类型。
- Accept-Language字段:浏览器可接受的自然语言。
- Accept-Encoding字段:浏览器可接受的响应内容编码方式。
- Upgrade-Insecure-Requests字段:浏览器要求服务器将HTTP请求升级为HTTPS请求。
- Sec-Fetch-*字段:安全请求头,用于保护用户的隐私和安全。
- Te字段:指定传输编码,这里是trailers,表示请求报文包含尾部(trailer)字段。
请求方式
HTTP/1.1规定了8种请求方法,用于定义对服务器请求的不同操作类型,它们分别是:
- GET:获取资源。(可以获取资源)
- POST:提交表单数据,新建资源。
- PUT:更新资源,用于更新全部信息。
- PATCH:更新资源,用于更新部分信息。
- DELETE:删除资源。
- HEAD:获取资源的元数据,即HTTP头信息。(确认服务器上有没有资源,并不把东西真的给你)
- OPTIONS:获取资源可进行的操作选项,即支持的HTTP方法列表。
- CONNECT:建立与资源的网络连接,用于代理服务器等场景。
除此之外,HTTP/2也新增了一个PUSH方法,用于在服务器推送内容给客户端。
其中,get和post是最常见的请求方法,也是使用最广泛的两种请求方法。
HEAD(确认服务器上有没有资源,并不把东西真的给你,返回包的内容很小,可以做扫描目录的操作:资源探测) GET(可以获取资源)
POST和PUT的请求方式相似,但是PUT对于服务器是及其危险的场景。如IIS put漏洞
get默认没有post字段,get的请求方式可以和post互转
2.返回包
HTTP/2 200 OK
Server: nginx
Date: Sun, 14 May 2023 07:02:49 GMT
Content-Type: text/html; charset=UTF-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://www.shiguo.life/wp-json/>; rel="https://api.w.org/"
Strict-Transport-Security: max-age=31536000; includeSubdomains;
<!DOCTYPE html>
<html lang="zh-CN" class="no-js immersion-color use-serif banner-as-cover toolbar-blur article-header-style-2 ">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> .....
这是一个HTTP/2协议的200 OK响应,返回的内容类型是text/html,字符集为UTF-8。服务器使用的是nginx,响应的时间是Sun, 14 May 2023 07:02:49 GMT。
响应头部包含了一些缓存控制相关的字段,如Expires、Cache-Control和Pragma等。其中,Expires和Pragma是HTTP/1.0时代使用的,现在已经不再推荐使用,而Cache-Control则是现代Web开发中常用的缓存控制方式。另外,响应头部中还包含了一个Link字段,用于指定与响应相关的链接关系。
在HTML文档中,标签中定义了一些网页元信息,如字符集、视口(viewport)等。
HTTP状态码
HTTP状态码是在客户端和服务器之间进行通信时使用的数字代码。HTTP状态码的第一位数字表示响应的一般类型,如1xx表示信息响应,2xx表示成功响应,3xx表示重定向响应,4xx表示客户端错误响应,5xx表示服务器错误响应。
模块介绍
Proxy
它充当了一个中间人(Man-in-the-Middle)代理,允许拦截、修改和观察应用程序与服务器之间的HTTP/HTTPS通信。
Burp Proxy可以在浏览器和目标服务器之间拦截HTTP和HTTPS请求和响应。可以使用Burp Proxy来检查和修改传输的数据,进行安全测试和漏洞挖掘。它提供了许多功能,包括请求拦截、重放、修改、重定向、增加或删除标头、截断和延迟请求。
Intruder
用于自动化和加速应用程序的安全测试和漏洞挖掘。它可以通过定制和自动化的请求,快速地进行大规模的攻击和参数化测试。
Repeater
Repeater用于手动测试和调试应用程序的请求和响应。它允许我们对单个请求进行修改和重复,以观察应用程序对更改的响应。
Sequencer
Burp Sequencer是Burp Suite工具中的一个模块,用于对应用程序中的随机性进行分析和测试,以评估其随机性的质量和可预测性。
Decoder
Burp Decoder模块用于解码或编码不同类型的数据。它可以将URL编码、Base64编码、HTML实体编码等各种编码格式的数据解码为可读的明文,也可以将明文编码为这些编码格式的数据,以便在网络传输过程中传输。
Repeater
Repeater用于手动测试和调试应用程序的请求和响应。它允许我们对单个请求进行修改和重复,以观察应用程序对更改的响应。
Compaper
Comparer模块用于比较两个HTTP请求或响应的不同之处。它可检查两个请求或响应之间的差异,帮助我们分析和理解应用程序的行为。
可以将两个HTTP请求或响应在同一窗口中进行比较。可以选择比较请求头、请求正文、响应头、响应正文等不同部分,以便更好地理解请求或响应的差异。
Extender
用于扩展和定制Burp Suite的功能。可以满足特定的需求和自动化任务。