深入解析HTTP协议会话机制:Cookie与会话ID的传递及抓包分析

2025-02-28
来源:网络整理

HTTP协议是无状态的,可以通过称为“此”的技术或作为请求URL的其他参数传递会话ID的概念。会话ID是Web服务器分配给每个客户端浏览器的唯一代码。通常,当Web服务器接收到某个浏览器的第一个访问并将其与响应消息一起发送到浏览器时,通常会生成。

会话过程由Web服务器端的程序启动。打开会话后,服务器端程序将为会话创建一个独立的存储结构,以保存会话的状态信息。同一会话中的访问请求可以并且只能访问属于会话的存储结构中的状态信息。

(5)捕获数据包分析时该看到什么 - 请求

(6)捕获数据包分析时该看到什么 - 响应代码,页面内容

1xx:消息提示表明该请求已成功接收并继续处理。

2XX:该请求已成功提交。

3xx:客户端被重定向到另一个资源。

4XX:不存在客户端错误状态代码,格式错误或资源。

5xx:描述服务器的内部错误。

3。基于Web数据包捕获实践

让我们首先看一下接口,与BP相比,UI更漂亮

专有功能:小乌龟是乌龟速度网络模拟,可用于测试

接口显示:

4。移动应用程序包捕获实践(i)证书锁定(SSL)

证书锁定(SSL/TLS)顾名思义,服务器提供的SSL/TLS证书内置在移动端开发的应用客户端中。当客户端启动请求时,将内置证书的内容和服务器端证书的内容与此连接的合法性进行了比较。

证书锁定(SSL/TLS)提供了两种锁定方法:和键

我们需要构建应用程序代码,以仅接受具有指定域名的证书,而不接受与操作系统或浏览器中构建的CA根证书相对应的任何证书。通过这种授权方法,可以保证应用程序和服务器端之间通信的唯一性和安全性。因此,我们的移动应用程序与服务器端(例如API网关)之间的通信可以确保绝对安全性。但是,CA证书存在有效性问题,因此缺点是在续签证书后需要将证书置于应用中。

公钥锁定是提取证书中的公钥并将其构建到移动应用程序中。通过将公共密钥值与服务器进行比较以验证连接的合法性。当我们制作证书密钥时,公共密钥可以在续订证书之前和之后保持不变(即,密钥对保持不变),因此可以避免证书有效期问题。

有关特定实施,请参考:

https://zhuanlan.zhihu.com/p/127847550

(ii)未经认证的锁

开发者工具怎么抓包_开源抓包工具_小程序开发者工具抓包

如果没有证书锁定,则可以直接配置计算机的IP以捕获数据包。应该注意的是,它在同一LAN上,需要在手机上安装的证书:

单击后出现

然后在手机上安装证书

安装完成后打开

这意味着证书不信任。

如果您不能这样做,则需要在根证书下植入证书,这可以如下完成:

1)获取在系统安装证书目录中放置的证书的文件名

openssl x509 -inform PEM -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem | head -1

根据上述命令,您可以得到类似的字符串,加上.0是文件名,并且完整的文件名如下:

34a6819c.0

2)通过根连接机器

adb connect [ip]adb rootadb remount

3)将证书放入系统安装证书目录中

adb push charles-proxy-ssl-proxying-certificate.pem /system/etc/security/cacerts/34a6819c.0

4)修改证书权限


chmod 644 /system/etc/security/cacerts/34a6819c.0

5)重启系统

这是在系统证书下植入的

小程序开发者工具抓包_开发者工具怎么抓包_开源抓包工具

这将允许正常的数据包分析

(iii)通过挂钩解锁证书

有两个常用的挂钩工具,一个和一个。

建议使用,您需要连续重新启动手机

pip install fridapip install frida-tools

https://github.com/frida/frida/releases

下载版本,请务必选择一个与手机系统相同数字数字的软件包,然后将其解压缩并将其上传到手机。

chmod +x fridaadb push ./frida /data/local/

ADB进入手机并启动服务器

您现在可以使用它

首先,您可以检查手机的过程信息,并查看以下安装成功的信息

https://github.com/WooyunDota/DroidSSLUnpinning

下载并使用主JS脚本。如果将注入通过过程中,您还可以看到,通过查看日志可以进行注入和替换相关功能。

5。捕获微信迷你计划的数据包

工具用法

proxifier+charles

在这种情况下,您可以使用微信计算机直接捕获数据包而无需使用模拟器,只需查看以下配置即可。微信迷你程序的应用程序名称设置为代理,以便可以直接捕获迷你程序数据包。

分享