声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都
与本人无关,切莫逾越法律红线,否则后果自负
关于brupsuite的那些事儿-proxy
- proxy
- Intercept
- HTTP history/WebSocket history(历史记录)
- Options(Proxy配置):
- Filter Settings(过滤设置):
- Proxy Listeners(代理监听器):
- 数据包一般有哪些请求头和响应头?
- 请求头(Request Headers)
- 响应头(Response Headers)
- 接口定义有哪些风格类型?
- RESTful API(Representational State Transfer):
- GraphQL API:
- JSON-RPC 和 XML-RPC:
- WebSocket API:
- gRPC:
- Webhooks:
- Server-Sent Events (SSE):
- API Gateway:
- Microservices APIs:
- 接口协议有哪些常用的?
- HTTP/HTTPS:
- FTP/SFTP:
- TCP/IP:
- UDP:
- SMTP/POP3/IMAP:
- WebSocket:
- REST/SOAP:
- AMQP:
- MQTT:
- CoAP:
- gRPC:
- GraphQL:
- 实践是检验真理的唯一标准
proxy
Burp Suite中的Proxy模块是一个核心功能,它作为一个代理服务器,拦截HTTP/S流量,允许用户在浏览器和目标应用程序之间查看和修改数据流。
Intercept
这是Proxy模块的核心功能,可以拦截通过浏览器发起的HTTP/S请求和服务器的响应。
用户可以开启或关闭拦截功能,对数据包进行增加、删除、修改等操作。
包含Forward(转发)和Drop(丢弃)按钮,用于控制拦截到的数据包是发送到服务器还是丢弃。
Actions(操作)允许将拦截到的数据包发送到Burp Suite的其他模块进行进一步处理。
支持不同的消息类型显示格式,包括raw(原始文本)、headers(消息头)、hex(十六进制)等。
HTTP history/WebSocket history(历史记录)
记录通过Burp Suite代理发起的HTTP/WebSocket请求以及对应的响应内容。
允许用户查看提交过的HTTP请求和响应包,并可以在不同的格式之间切换查看。
Options(Proxy配置):
用于对Proxy模块的功能进行配置。
包含Proxy Listeners(配置代理监听地址)、Intercept Client Requests(拦截请求的规则配置)、Intercept Server Responses(拦截响应的规则配置)等多个选项。
支持Response Modification(对响应内容的修改)、Match and Replace(通过正则匹配替换请求或响应的内容)等功能。
还包括TLS Pass Through(TSL直接连接)和Miscellaneous(其他设置)等配置选项。
Options(Proxy配置):
用于对Proxy模块的功能进行配置。
包含Proxy Listeners(配置代理监听地址)、Intercept Client Requests(拦截请求的规则配置)、Intercept Server Responses(拦截响应的规则配置)等多个选项。
支持Response Modification(对响应内容的修改)、Match and Replace(通过正则匹配替换请求或响应的内容)等功能。
还包括TLS Pass Through(TSL直接连接)和Miscellaneous(其他设置)等配置选项。
Filter Settings(过滤设置):
允许用户根据请求类型、MIME类型、状态码、搜索词、文件扩展名、注释等条件过滤HTTP历史记录。
提供了灵活的过滤选项,以便用户快速定位到感兴趣的数据包。
Proxy Listeners(代理监听器):
默认监听地址为127.0.0.1:8080,用户可以添加或编辑监听地址。
如果Burp Suite设置好了代理也抓不到包,可以检查这里是否有勾选表示正在监听的端口,如果没有可能是端口被占用了,需要关闭占用端口的程序或更改端口。
这些都是些基础,都不做解释了,拦截包的工具有很多,charles fiddler 微信开发者工具、浏览器调试面板,httpcary 抓包精。灵、各种浏览器抓包插件以及github开源项目,但是渗透测试中brupsuite是最常用的。
数据包一般有哪些请求头和响应头?
请求头(Request Headers)
Host
:请求的服务器的域名和端口号。
User-Agent:
发出请求的浏览器或客户端信息。
Accept:
客户端能够处理的媒体类型。
Accept-Charset:
客户端能够处理的字符集。
Accept-Encoding:
客户端能够处理的压缩编码。
Accept-Language:
客户端偏好的语言。
Authorization:
用于认证的凭证。
Cache-Control:
控制缓存行为。
Connection:
管理持久连接。
Content-Length:
请求正文的长度。
Content-Type:
请求正文的媒体类型。
Date:
请求发送的日期和时间。
If-Modified-Since:
文档的最后修改时间。
Referer:
引用页面的URL。
Range:
请求文档的特定范围。
Cookie:
存储在客户端的会话信息。
响应头(Response Headers)
Access-Control-Allow-Origin:
跨源资源共享(CORS)策略。
Content-Type:
响应正文的媒体类型。
Content-Length:
响应正文的长度。
Content-Encoding:
响应正文的压缩编码。
Content-Language:
响应正文的语言。
Content-Location:
响应正文的替代位置。
Content-Range:
响应正文的范围。
Date:
响应发送的日期和时间。
ETag:
响应的实体标签,用于缓存控制。
Expires:
响应的过期时间。
Last-Modified:
文档的最后修改时间。
Location:
用于重定向的URL。
Server:
服务器软件名称。
Set-Cookie:
设置客户端的会话信息。
Cache-Control:
控制缓存行为。
Vary:
告诉缓存服务器何时需要向原服务器请求。
WWW-Authenticate:
用于HTTP认证。
接口定义有哪些风格类型?
RESTful API(Representational State Transfer):
基于HTTP协议,使用标准的HTTP方法(GET, POST, PUT, DELETE等)。
无状态,每个请求包含所有必要的信息。
易于理解和使用,适合于Web应用之间的数据交换。
SOAP API(Simple Object Access Protocol):
基于XML的协议,用于交换结构化信息。
通常用于企业级应用,支持复杂的事务处理。
需要更多的带宽和处理能力。
GraphQL API:
一种用于API的查询语言,允许客户端精确指定它们需要的数据。
可以减少数据传输量,提高效率。
适用于需要高度定制数据请求的应用。
JSON-RPC 和 XML-RPC:
远程过程调用(RPC)协议,允许客户端调用服务器上的方法。
JSON-RPC使用JSON作为数据格式,而XML-RPC使用XML。
适用于需要进行远程方法调用的场景。
WebSocket API:
提供全双工通信渠道,允许服务器主动向客户端发送消息。
适用于需要实时通信的应用,如聊天应用或游戏。
gRPC:
由Google开发的RPC系统,使用Protocol Buffers作为接口描述语言。
支持多种语言,适合构建分布式系统和微服务架构。
Webhooks:
一种回调模式,允许一个应用通过HTTP POST请求向另一个应用发送消息。
适用于事件驱动的场景,如支付确认或社交媒体更新。
Server-Sent Events (SSE):
允许服务器向客户端发送实时更新。
适用于需要服务器推送数据的场景,如股票价格更新。
API Gateway:
作为客户端和后端服务之间的中介,提供统一的API接口。
可以处理请求路由、负载均衡、认证和监控。
Microservices APIs:
在微服务架构中,每个服务都有自己的API,用于内部服务间的通信。
接口协议有哪些常用的?
HTTP/HTTPS:
HTTP:无状态、应用层协议,请求-响应模型,基于文本的通信。
HTTPS:HTTP的安全版本,使用SSL/TLS进行加密,提供数据完整性和隐私保护。
FTP/SFTP:
FTP:基于TCP的文件传输协议,使用两个端口,一个用于控制连接,一个用于数据传输。
SFTP:基于SSH的文件传输协议,提供文件加密和认证。
TCP/IP:
TCP:面向连接的、可靠的、基于字节流的传输层通信协议。
IP:网络层协议,负责数据包从源到宿的传输和路由。
UDP:
无连接的、不可靠的传输层协议,适用于对实时性要求高的应用,如视频流和在线游戏。
SMTP/POP3/IMAP:
SMTP:邮件发送协议,使用文本命令和响应进行邮件传输。
POP3:邮件接收协议,允许客户端下载邮件到本地。
IMAP:邮件访问协议,允许客户端访问服务器上的邮件,支持邮件状态同步。
WebSocket:
为浏览器提供全双工通信,允许服务器主动发送信息给客户端。
REST/SOAP:
REST:基于HTTP的架构风格,使用无状态、标准化的方法(GET、POST、PUT、DELETE)。
SOAP:基于XML的协议,支持多种传输协议,如HTTP、SMTP等,通常用于企业级应用。
AMQP:
高度可靠的异步消息传输协议,支持多种消息传递模式,如点对点和发布/订阅。
MQTT:
轻量级的消息协议,适合带宽和网络不稳定的环境,常用于物联网。
CoAP:
专为物联网设计的协议,简化了HTTP的某些方面,以适应受限设备。
gRPC:
高性能的RPC框架,使用Protocol Buffers作为接口定义语言,支持多种语言。
GraphQL:
查询语言,允许客户端指定需要哪些数据,减少数据传输量,提高效率。
虽然都是一些基础,但是万丈高楼平地起,基础也很重要。