【JS 逆向案例】建筑市场监管平台企业数据爬虫

声明

本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关

前言:这次的案例主要用到对加密的内容解密

准备工作

目标:http://jzsc.mohurd.gov.cn/ddata/company

分析过程:

1.抓包:点击查询可以看到只返回了一个包,打开发现返回数据是加密的

 

2.分析加密位置:

 发现async是异步加密,一般都用JSON.prase函数解密,直接搜发现。可疑地方t.data(这里在app开头的文件)还有一些其他的文件也有关键字,通过断点尝试发现不是我们要的。

3.解密:

我们可以发现返回数据是被h函数加密的,跟进去发现h函数是一个AES加密,所以我们只需要找到它的key,iv,和模式就可以自己本地实现解密。

根据我扒下来的函数

a = d.a.AES.decrypt(n, f, {
                iv: m,
                mode: d.a.mode.CBC,
                padding: d.a.pad.Pkcs7
            })

可以清楚看到key是f,iv是m,n是传入加密数据,网上看可以发现 f 和 m 都是写出来了。模式是cbc

4最终代码:

#许小川

from Crypto.Cipher import AES
response =""#密文数据
f =   "jo8j9wGw%6HbxfFn"# 秘钥
m =   "0123456789ABCDEF"# 偏移
# 转码为字节
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')
print(result)


#我们直接本地实现AES解密,直接把加密数据放到respond就可以机密成功了

总结:

至此本次案例就结束了,这个案例还是很适合练手的,熟练了十分钟搞定。如果大家有哪些好玩的网站或者不懂的问题可以直接私信我,一起交流学习。希望获得一个(你懂的)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于爬虫中的 JavaScript 逆向案例,我可以给你提供一个简单的示例。请注意,这个示例只是为了帮助你理解逆向过程,真实的应用中可能涉及法律和伦理问题,请合法使用爬虫技术。 假设我们要爬取一个网站上的某个页面数据,但是该页面通过 JavaScript 动态生成。我们可以通过分析网页的 JavaScript 代码来逆向工程,获取所需数据。 首先,打开 Chrome 浏览器并进入开发者工具(按 F12 键或右键点击页面并选择“检查”)。然后切换到“网络”选项卡。 接下来,在浏览器地址栏中输入目标网页的 URL 并按下回车,浏览器将开始加载页面。在网络选项卡中,你将看到所有请求和响应的列表。 查找其中一个请求,该请求可能包含我们所需的数据。点击该请求并查看其请求头、响应头和响应体。 在响应体中,你可能会看到一些 JavaScript 代码,这些代码负责生成页面上的内容。你可以仔细阅读该代码,并找到生成目标数据的部分。 如果你发现目标数据是通过 Ajax 请求获取的,你可以查看该 Ajax 请求的 URL 和参数,然后使用 Python 的 requests 库或其他适当的方法模拟该请求,并解析响应获取数据。 如果你发现目标数据是在 JavaScript 代码中直接生成的,你可以尝试分析代码逻辑并编写相应的 Python 代码来模拟该过程。这可能涉及到使用 JavaScript 解释器或库来执行 JavaScript 代码。 需要注意的是,JavaScript 逆向工程是一项复杂的任务,需要对 JavaScript 和网络协议有一定的理解。同时,网站所有者可能会采取一些反爬虫措施来阻止你的行为,所以请务必遵守法律法规和网站的使用规则。 希望这个示例能够帮助你入门 JavaScript 逆向工程。如果你有任何其他问题,欢迎继续提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值