免责声明
只是记录学习中的笔记,也是为了方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
目录
HTTP 协议
版本
- HTTP/1.0: 最初版本,较为简单,不支持持久连接。
- HTTP/1.1: 改进版,支持持久连接、管道化等功能,提高了性能。
- HTTP/2: 引入二进制协议,改进了效率,减少了延迟,支持多路复用。
- HTTP/3: 基于 QUIC 协议,支持更低延迟和更高的传输效率,使用 UDP 代替 TCP。
功能
- 主要用于客户端与服务器之间的请求和响应数据传输。
- 无状态协议,每次请求都是独立的。
请求方式
1. GET
- 用途: 获取资源,常用于浏览器请求网页。
- 特点:
- 无副作用(幂等性)。
- 适合获取数据,不修改数据。
- 请求参数通过 URL 传递。
2. POST
- 用途: 提交数据,通常用于表单提交。
- 特点:
- 请求参数通过请求体传递。
- 可产生副作用(如创建、修改数据),非幂等性。
- 常用于创建或提交信息。
3. PUT
- 用途: 更新资源,通常用于替换已有资源。
- 特点:
- 请求参数通过请求体传递。
- 幂等性(多次请求结果相同)。
- 用于替换整个资源。
4. DELETE
- 用途: 删除指定资源。
- 特点:
- 请求参数通常通过 URL 传递。
- 幂等性(多次请求不改变结果)。
- 删除服务器上的指定数据。
5. HEAD
- 用途: 获取资源的元数据(如头部信息)。
- 特点:
- 与 GET 请求类似,但不返回响应体。
- 常用于检查资源的修改时间或大小。
6. OPTIONS
- 用途: 获取服务器支持的请求方法。
- 特点:
- 不传递数据,通常用于跨域请求的预检。
7. TRACE
- 用途: 回显服务器收到的请求,用于诊断。
- 特点:
- 可以跟踪请求在网络中的传输路径,但安全隐患较大。
请求包
注意看cookie和UA头
返回包
一般看状态码
URL 结构
格式: 协议://域名:端口/虚拟目录/文件名?参数#锚点
示例:
https://mp.youkuaiyun.com/mp_blog/creation/editor/144981981?id=1
- 协议: 指定使用的协议(如 HTTP、HTTPS)。
- 域名: 目标服务器的域名(mp.youkuaiyun.com)
- 端口: 可选,指定服务器的端口,HTTP默认为 80或,HTTPS默认为443
- 虚拟目录/文件名: 请求的具体路径(mp_blog/creation/editor/144981981)
- 参数: 请求的数据,常用于传递查询信息(?id=1)
- 锚点: 页面的定位标识,通常与请求无关,影响客户端显示。
状态码
1xx(信息性状态码)
- 100 Continue: 继续请求,客户端可以继续发送请求的其余部分。
2xx(成功状态码)
- 200 OK: 请求成功,服务器返回所请求的资源。
- 201 Created: 请求成功,服务器创建了新的资源。
3xx(重定向状态码)
- 301 Moved Permanently: 资源被永久移动到新的 URI。
- 302 Found: 资源临时移动到另一个 URI。
4xx(客户端错误状态码)
- 400 Bad Request: 请求无效,可能是格式错误。
- 401 Unauthorized: 未授权,客户端未提供有效的认证信息。
- 403 Forbidden: 服务器拒绝请求。
- 404 Not Found: 请求的资源未找到。
5xx(服务器错误状态码)
- 500 Internal Server Error: 服务器内部错误,无法完成请求。
- 502 Bad Gateway: 网关错误,服务器作为代理时,无法获得响应。
- 503 Service Unavailable: 服务不可用,服务器暂时无法处理请求。
内外网划分
内网地址
- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 - 192.168.255.255
外网地址
- 外网指的是所有不在内网地址范围内的 IP 地址。
- 知道域名如何查真实IP,可以看这篇文章渗透测试--信息收集-优快云博客
B/S 架构 (浏览器/服务器架构)
- 定义: 基于浏览器(Browser)和服务器(Server)的结构,客户端通常是浏览器,所有处理逻辑和数据存储都在服务器端。
- 优点: 客户端只需通过浏览器访问,易于维护,部署简便。
- 缺点: 对网络依赖较强,服务器负载高。
C/S架构(客户端与服务器架构)
- 定义:其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
- 优点:因此响应速度较快,事务处理能力强
- 缺点:客户端需要安装专用的客户端软件
系统代理和浏览器代理的区别
设置了系统代理就代表你电脑上的所有流量什么的都先经过你的代理服务器再被转发到目标服务器上,这就会有一定的小问题,比如你拦截了一个包,那么你的微信就收不到你女神的消息了
设置浏览器代理的话,只是该浏览的所有请求,所有浏览通过你的代理服务器,假如你的电脑上有多款浏览器,那么你就可以这个用来抓包分析,这个用来搜搜知识点,最重要的是你可以收到女神的消息了
希望这段话可以解决小白的一些问题
抓包工具的使用
抓http/https协议的用
Fiddler:
由于这个工具我没有使用过,大家可以看其他人的博客
Fiddler抓包工具保姆级使用教程(超详细)_抓包软件怎么使用-优快云博客
https://www.telerik.com/fiddler
Charles:
Download a Free Trial of Charles • Charles Web Debugging Proxy
官网打开后,选择对应的版本进行下载
安装的时候除了这里需要勾一下还有选择自己的安装路径,其余一路next
安装完后https://www.zzzmode.com/mytools/charles/
利用上面这个网址破解软件,名称随便输入后,将生成的两段数据填写完成即可
安装证书
给浏览器安装证书
选择受信任的根证书颁发机构
安装完成即可
给模拟器安装证书
这里我用的是逍遥模拟器,因为安装证书的方法简单
点击共享
将保存好的证书移到这里面
找到模拟器中设置里的安全性和位置信息
点击后输入pin码
起一个名字
出现即为成功
至此咱们茶杯的浏览器证书和模拟器证书都安装好了
如何抓包
抓web的包
茶杯抓包还是根据代理来抓的
需要在这里设置一下
浏览器设置
两个设置完成后就可以抓包了,这是抓电脑web的包
抓模拟器的包
首先打开模拟器设置模拟器的代理IP为电脑的IP
设置完成后,茶杯不需要设置即可抓包
BurpSuite:
【抓包神器】BurpSuite Professional v2024.10 中文汉化版 - 极核GetShell
安装过程该网站有大家对着安即可
证书安装
给模拟器安装
名称后缀为.cer(这是安装在模拟器上的)
流程还是和茶杯一样
至此模拟器的burpsuite证书安装成功
给安装浏览器
前面流程一样,后缀改为.der
安装到中间证书颁发机构
如何抓包
抓web的包需要设置代理
以火狐为例设置打开划到最底下,点击网络设置,设置代理,要与自己的burpsuite一样
这块可以看有哪些包经过
这里可以拦截,拦截掉以后可以更改包,做进一步判断
抓模拟器的包
设置好自己的本机IP和burp suite监听端口即可
需要添加一个本机IP用来监听模拟器发的包
到这里你就可以抓模拟器的包了
今天先学这么多剩下关于burp suite的内容后续更新,上面说的三个工具全是用来抓http/htpps协议的包,像什么游戏的协议我们可以用下面的工具进行分析
抓其他协议的用
Wireshark:
科来网络分析系统:
postman工具(该工具专注于http发包)
抓各类应用包的方法
前提是需要安装各个软件的证书
抓小程序的包:
方法一:
设置Charles代理8888,通过这个模块设置转发端口,设置为burp suite的代理端口
burp suite一定也要是监听127.0.0.1:8080的
通过Charles转发到burp suite
方法二:
利用代理工具(Proxifier),添加WeChatAppEx.exe
【流量工具】Proxifier v4.1.2 汉化版 - 极核GetShell
根据这个连接下载安装好后
配置burp suite,新增一条监听7777端口的
打开Proxifier,点击这里,配置代理端口
点击add添加对应的东西
点击这里,建立抓取小程序的规则
照抄即可
检查对应的配置,与下述相同即可
一定要勾选上
设置到这里也是完成了
验证一下
这样转发就可以满足我们其他程序的网络畅通,最重要的还是可以边努力边和小美聊天
抓web的包:
设置代理直接抓
抓模拟器APP的包:
设置代理直接抓
PC应用的包:
方法一:
利用代理工具(Proxifier),添加专门的进程
步骤与小程序类似
方法二:
直接开启系统代理
扩展
1. 防火墙
- 作用: 过滤和控制进出网络的数据流,保护网络免受外部攻击。
- 类型: 包过滤防火墙、代理防火墙、状态检测防火墙、下一代防火墙(NGFW)。
2. NAT(网络地址转换)
- 作用: 将内网的私有 IP 地址转换为公网 IP 地址,以实现多台内网设备共享一个公网 IP 地址。
3. IDS/IPS(入侵检测/防御系统)
- IDS: 检测网络或主机的入侵行为,并报警。
- IPS: 在检测到入侵时,自动采取措施防止入侵发生。
4. VPN(虚拟私人网络)
- 作用: 通过加密隧道技术,在公共网络上创建一个安全的私有网络。
5. 加密技术
- 对称加密: 使用相同的密钥进行加密和解密。
- 非对称加密: 使用一对公钥和私钥进行加密和解密,常用于数据传输和身份认证。
- 哈希算法: 用于生成数据的唯一摘要,常用于数据完整性检查。
安全控制
1. 访问控制
- 基于角色的访问控制(RBAC): 根据用户的角色授予相应的访问权限。
- 基于属性的访问控制(ABAC): 根据用户、资源、环境等属性来定义访问权限。
参考文章:
Burp suite 分析 HTTP协议_burp suite分析-优快云博客