略记一次抓取内容后解密及登录的经历

目标网站返回的数据是经过加密的,原数据类似于这种:

5OOfXVuawJ5XxotX22Q1M1/1OE8+SgxzFjK75q99wSfvO46a9j5ysLP1f32x59HBBZK2JoJ/Y51QlmzyGNvGJ1XtOo8mBANrEvqOM6p6bDABmcuWg7SdFwyGjPzVGvZYC/BgbYHuakpGd2PTJxdy5PLURyYgU3Mw==

并且前端调试会卡在debugger,然后直接返回到首页,无法进入断点调试。

断点调试的问题很好解决,先关闭断点调试。

请添加图片描述

然后找准目标代码位置,在请求接口前把断点调试打开,注意,速度要快点,我调试的这个网站如果速度不够快就会迅速跳转到首页。

目标网站的应该是使用的前后端分离的架构,前端是vue写的,代码有经过混淆,上百万行看着别扭的命名看起来很头疼,而且每个变量的名字,函数的名字,都是通过json对象的方式去找,全是类似这种:

请添加图片描述

找的很痛苦,只有通过断点和调用栈不断的去找目标代码的位置。

尤其是解密的代码,调用栈太长了,我水平不够,整整看了2天,才从这种代码中找出了它主要的解密方式,用个是DES解密,需要找到key和iv,key是接口有返回的,但iv对方网站就隐藏的很好,除了这个iv,其他的问题都解决了,加密字符串也成功解密。

但确实耐不住这个iv为什么就是拿不到?问题出在哪里?

在登录的状态下,我追溯到了它的源头,在localStorage中,但是什么时候存入localStorage中呢?我找了很久没有看到调用。

后来我把localStorage中的那个key删掉,我又找了很久,还是没有看到值的设置。

但是突然有一个动作,让我感觉自己挺傻的,难道这个iv就不能是请求返回的吗?把DevTools切换到网络,果然看到了一个请求,清清楚楚明明白白而且没有加密的keyiv返回,那一刻我突然觉得自己果然太年轻,花了那么多时间去找iv是怎么生成的,但不知道人家压根是直接从服务器请求返回的。

后来的事情就顺理成章、水到渠成的完成了全部的解密。

最后再拿下登录返回的token,准备一台手机,自动接收验证码,然后启一个接受短信的服务存到redis,至此登录、请求接口、解密数据全部完成。

从我这个不专业的爬虫工程师来看,爬虫工作是比较看耐心的,尤其是登录和其他的破解环节,一定要相信,从理论上来破的东西,它确实就能破,但确实太考验耐心了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Wireshark中抓取解密HTTPS数据包,需要进行以下配置步骤: 1. 首先,确保你已经安装了最新版本的Wireshark。你可以从Wireshark官方网站(https://www.wireshark.org)下载适用于你操作系统的版本。 2. 在Wireshark中打开“偏好设置”对话框。在Windows中,你可以通过点击菜单栏的“编辑”选项,然后选择“首选项”来打开它。在macOS中,你可以点击菜单栏的“Wireshark”,然后选择“首选项”。 3. 在“首选项”对话框中,找到并点击左侧的“协议”选项。 4. 在右侧的协议列表中,找到并展开“SSL”协议。 5. 点击“SSL”协议下的“解密密钥列表”。 6. 在“解密密钥列表”对话框中,点击“+”按钮添加一个新的解密密钥。 7. 在“新解密密钥”对话框中,选择所使用的密钥类型。对于HTTPS通信,你需要选择“RSA”或“DSA”。 8. 输入相应的IP地址和端口范围。如果你只想解密特定的HTTPS通信,请输入相应的目标服务器IP地址和HTTPS端口(一般为443)。 9. 选择合适的密钥文件类型。如果你有私钥文件(通常是.pem或.p12格式),请选择“从文件导入”选项。如果你知道服务器的预共享密钥,可以选择“使用预共享密钥”。 10. 根据选择的密钥文件类型,设置相应的密钥文件路径或预共享密钥。 11. 点击“应用”和“确定”按钮保存配置。 12. 现在,重新启动Wireshark并开始捕获HTTPS流量。在过滤器中输入“ssl”以过滤显示HTTPS流量。 请注意,为了成功解密HTTPS流量,你需要具有服务器的私钥或预共享密钥。如果你没有这些信息,将无法成功解密HTTPS数据包。此外,解密HTTPS流量可能涉及到违反服务器所有者的隐私政策和法律规定,所以请确保你在合法授权的情况下进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值