Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写
2020-01-13 11:37
573 查看
今日份的网站
aHR0cDovL3d3dy5kZGt5LmNvbS9jb21tb2RpdHkuaHRtbD9kZGt5Y2FjaGU9YTdiMTllODc5ZDJmMmYyNzlkMzU2ZjVhZmE2ZDVjZmY=
这个网站的加密比较简单,是那种新手做过一遍就对 JS 逆向充满信心的小练手。
分析请求
先分析请求,看看需要的参数有没什么搞头【图1-1】
图1-1比较明显的是 sign 其他的参数好像没有什么特别的地方。
先定位 sign 的位置【图1-2】
图1-2直接搜索参数就看到结果了,点击搜索的结果文件在文件内再搜索一次,可以看到有 3 个结果。【图1-3】
图1-3到这里就看到 sign 的加密了。
接下来继续分析逻辑,这里的 sign 值是
y,
y的值是通过
MD5(f)获取的,而
f又是
t.get("method") + p + r的结果,经过一通分析,可以的得到下面的逻辑:
var l = t.keys().sort(), p = ""; l.length; for (var g in l) { var m = l[g]; p += m + t.get(m) } sign = md5(t.get("method") + p + r)接下来只需要把我们不知道的值通过断点的方式调试出来,这个加密我们就完成解密了。
所以先给不知道的值打上断点,不清楚就打上断点不要怕麻烦,像【图1-4】这样。
图1-4重新请求一下,就进入到我们打的断点里了,我们可以通过在 console 中打印变量的值来理解逻辑。【图1-5】
图1-5明白需要的变量的值之后,我们就可以开始扣取 JS 或者用 Python 复写加密的逻辑了。
因为这次的加密比较简单,我们试试用 Python 复写一遍加密。(主要是 Python 的 md5 用起来蛮舒服的)
这里的逻辑比较简单没啥好分析的,我就直接上代码了。
import time from hashlib import md5 def get_sign(): timeStamp = time.time() localTime = time.localtime(timeStamp) strTime = time.strftime("%Y-%m-%d %H:%M:%S", localTime) l = ["method", "orderTypeId", "orgcode", "pageNo", "pageSize", "plat", "platform", "shopId", "t", "v", "versionName"] t = { 'method': 'ddsy.product.query.orgcode.product.list.b2c', 'orderTypeId': '0', 'orgcode': '010502,010503,010504,010505,010506,010507', 'pageNo': '1', 'pageSize': '100', 'plat': 'H5', 'platform': 'H5', 'shopId': '-1', # 't': '2019-9-23 22:4:16', 't': '{}'.format(strTime), 'v': '1.0', 'versionName': '3.2.0' } p = '' for i in range(0, 11): m = l[i] p += m + t.get(m) f = t['method'] + p + '6C57AB91A1308E26B797F4CD382AC79D' print(f) sign = md5value(f).upper() print(sign) return sign def md5value(s): a = md5(s.encode()).hexdigest() return a到这里其实就没有什么难度了,直接带入 sign 请求就完事了。【图1-6】 图1-6
EOF
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python爬虫进阶必备 | XX文学加密分析实例
- Python爬虫进阶必备 | 某小说(XX猫)网站加密分析
- Python爬虫进阶必备 | XX同城加密分析
- Python爬虫进阶必备 | X薯中文网加密分析
- Python爬虫进阶必备 | 某电竞加密参数分析( 什么花里胡哨,三行代码完成加密)...
- Python爬虫进阶必备 | RSA 加密案例解析汇总(一)
- Python爬虫进阶必备 | 一个典型的 AES 加密在爬虫中的应用案例
- Python爬虫进阶必备 | 关于 AES 的案例分析与总结(一)
- Python爬虫进阶必备 | 关于AES 的案例分析与总结
- Python爬虫进阶必备 | 关于MD5 Hash 的案例分析与总结
- DC学院课程-Python爬虫(入门+进阶)-课后作业分析
- 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
- 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取
- Python实现前端AES加密方式分析,***密码学必备!
- Python爬虫进阶必备 | MD5 hash 案例解析汇总(一)
- Python七月(基础入门 进阶熟练班 数据分析班 爬虫项目)
- 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
- 2019最新全套七月Python基础入门+进阶熟练班+ 数据分析班+爬虫项目
- Python爬虫(入门+进阶)学习笔记 1-1 什么是爬虫?
- Python爬虫(入门+进阶)学习笔记 1-7 数据入库之MongoDB(案例二:爬取拉勾)