前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫进阶必备 | 关于某电商网站的加密请求头 if-none-match 的分析

Python爬虫进阶必备 | 关于某电商网站的加密请求头 if-none-match 的分析

作者头像
咸鱼学Python
发布2020-03-25 16:25:52
9680
发布2020-03-25 16:25:52
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

建议收藏 | 最全的 JS 逆向入门教程合集

目标网站

aHR0cHM6Ly94aWFwaS54aWFwaWJ1eS5jb20vc2VhcmNoP2tleXdvcmQ9JUU3JTk0JUI3JUU3JUFCJUE1JUU0JUI4JThBJUU4JUExJUEz

先来看看这个网站需要分析的加密是什么?

这次的网站例子来自「咸鱼的Python交流群」,一个群友遇到之后发到群里的。【图1-1】

图1-1
图1-1

在这个网站搜索商品的时候会出现请求头if-none-match,之前咸鱼的很多例子都没有写到如何分析请求头的加密参数应该如何分析,所以拿这个例子大概讲讲。

定位加密

按照之前的套路,想到的第一步是搜索if-none-match,搜索的结果非常具有迷惑性。【图2-1】

图2-1
图2-1

打开这个文件,直接检索if-none-match没有找到命中项,但是搜索If-None-Match,可以看到有相关的命中项的。【图2-2】

图2-2
图2-2

不过咸鱼试过在这里打上断点,重新加载没有断上,初步判断不是这里生成了这个请求头参数。

所以这里尝试使用Xhr断点的方式分析。【图2-3】

图2-3
图2-3

打上这个断点之后,重新加载页面。【图2-4】

图2-4
图2-4

可以在这里看到t的值中就包含了我们需要的请求头if-none-match,所以可以猜测在这个 xhr 断点之前就已经完成了这个值的生成。

所以这里可以先在这个 xhr 断点前下一个断点之后暂时取消 xhr 断点。【图2-5】

图2-5
图2-5

到这里之后我们直接单步调试,可以看到下面这段逻辑【图2-6】

图2-6
图2-6

可以看到有写入请求头的位置了,我们分别打上断点,逐一分析是不是想要的内容。

经过分析可以看到在代码中有一段在字典中赋值的操作,并且这里也找到了加密的字段名。【图2-7】

图2-7
图2-7

所以上面就是加密字段的加密位置。

分析加密

找到加密位置之后进一步分析加密的逻辑,可以看到这个加密的逻辑非常简单,结合上下文的代码可以看到这里拼接了字符串i.a + "-" + u("" + i.a + u(t) + i.a),这里反复调用的u也可以在上面找到。未知的就只有ti.a

通过分析可以看到这里的i.a就是固定的字符串55b03【图3-1】

图3-1
图3-1

这里的开头和抓包中的值的开头一样。【图3-2】

图3-2
图3-2

找到i.a之后,再回头看看这里的t,就是传入的参数,没有什么特殊的地方。

加密很简单直接带入 Python 实现的加密即可。【图3-3】

图3-3
图3-3
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目标网站
  • 定位加密
  • 分析加密
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档