当前位置:首页 » 《资源分享》 » 正文

【JS 逆向 AES逆向加密】Python爬虫实战,日子越来越有判头了_AI19970205的博客

9 人参与  2021年09月15日 15:03  分类 : 《资源分享》  评论

点击全文阅读


大家好,我是辣条。

这是我爬虫实战项目的第22篇,目标是写到100篇,希望大家能关注这个专栏。

一个建筑行业的堂哥为了搞一些商业数据前前后后花了1w,辣条我半个小时就能解决的事情,这就是技术的魅力【爬取是的公开数据!】

爬取目标

网址:监管平台

image.png

工具使用

开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:requests,AES,json

涉及AES对称加密问题 需要 安装node.js环境
使用npm install 安装 crypto-js
​

项目思路解析

  1. 确定数据 在这个网页可以看到数据是动态返回的 但是 都是加密的 如何确定是我们需要的?

    123.png

    突然想到 如果我分页 是不是会直接加载第二个页面 然后查看相似度 找到第一个页面, 我真是太聪明了

    234.png

    数据找到了 现在开始寻找加密 但是突然发现没有 加密的关键字? 那我们通过url 下手试试 在All里面全局 搜索 query/comp/list(url后面的参数)

    345.png

    找到这个接口 鼠标右键 可以在源代码查看他

    456.png

    567.png

    678.png

    慢慢调试 中间调试太多了 我就不一一截图出来了 跑到这里 发现data 里面的参数 和我们看到的加密一致

h(t.data)  加密位置

789.png

进去h里面 (鼠标光标放到 h上面 会显示他的 js地址 如果没有显示 就是证明你还没有执行到这里 需要在前面打上断点 刷新页面调试)

8910.png

发现这个采用AES加密算法 使用模型CBC模式 采用填充方式为 Pkcs7

AES.decrypt() # 参数说明  秘钥  模式 偏移值
f = 'jo8j9wGw%6HbxfFn'  # 秘钥
m = '0123456789ABCDEF'  # 偏移值

证明数据推导正确 在 return r.toString() 打上断点

91011.png

r里面数据正常返回

简易源码分享(后面保存没有写 可以自己尝试 不会的 关注 私聊)

import requests
from Crypto.Cipher import AES
import json
​
​
url = 'http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=2&pgsz=15&total=0'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38'
}
response = requests.get(url, headers=headers).text
f = 'jo8j9wGw%6HbxfFn'  # 秘钥
m = '0123456789ABCDEF'  # 偏移值
​
# 转码  utf-8?  字节 16进制
m = bytes(m, encoding='utf-8')
f = bytes(f, encoding='utf-8')
​
# 创建一个AES算法 秘钥  模式 偏移值
cipher = AES.new(f, AES.MODE_CBC, m)
# 解密
decrypt_content = cipher.decrypt(bytes.fromhex(response))
result = str(decrypt_content, encoding='utf-8')
​
# OKCS7 填充
length = len(result) # 字符串长度
unpadding = ord(result[length - 1]) # 得到最后一个字符串的ASCII
result = result[0:length - unpadding]
result = json.loads(result)['data']['list'] # dupms json.dumps()  dict  格式 json的
# {"键":"值"}
​
for i in result:
    print(i)

🍅 行业资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 学习资料:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/27889.html

数据  加密  偏移  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 许我三千繁星愿全书+后续+结局(慕星眠楚砚风)列表_许我三千繁星愿全书+后续+结局(慕星眠楚砚风)许我三千繁星愿全书+后续+结局在线
  • [心欲动而风不止]小说免费试读_何锋冷笑明白精彩章节试读
  • 沈星眠傅景淮(高冷男友化身舔狗,我不要了全书+结局+番外)_沈星眠傅景淮列表_笔趣阁(高冷男友化身舔狗,我不要了全书+结局+番外)
  • 也曾偷藏欢喜全书+后续(乔喜商凛)_(乔喜商凛)也曾偷藏欢喜全书+后续列表_笔趣阁(乔喜商凛)
  • 「从此萧郎是路人」小说节选推荐_宁钰阿昭乞丐番外合集提前订‌
  • 重回八零,我拒绝肩挑两房完结_[公公顾启铭顾老]限时免费***章节速览
  • 桑年裴谨言孟微晴(你是我未拆的遗书桑年结局+番外)_(桑年裴谨言孟微晴)列表_笔趣阁(你是我未拆的遗书桑年结局+番外)
  • 「惨死重生后我竟被封公主」节选免费试读_苏清华宋墨渊口碑神作必读篇章
  • 沐星澜陆司沉结局+番外免费_(沐星澜陆司沉结局+番外)沐星澜陆司沉结局+番外列表_笔趣阁(沐星澜陆司沉)
  • [爱也沧沧,恨也沧沧]小说***章节抢先看_贺景宋南乔南乔全集阅读
  • 邓云承汪夏再活一次,她的爱还是给了别人全书+后续+结局列表_笔趣阁(再活一次,她的爱还是给了别人全书+后续+结局邓云承汪夏)
  • 从此星辰远,归途似海深+后续+结局(璃月龙影)列表_从此星辰远,归途似海深+后续+结局

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1