如何逆向破解爬虫进阶实战中3.6.6版本的AES加密链接?

2026-04-11 02:592阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计625个文字,预计阅读时间需要3分钟。

如何逆向破解爬虫进阶实战中3.6.6版本的AES加密链接?

AES加密、跳转链接加密+天交所公共资源交易平台+查看连接变化进行调试+点击表格链接跳转详情页时发生变更,对项目ID进行加密+对链接进行断点调试,注意常用的Chrome抓包是找不到的。

AES加密、跳转链接加密

天津市公共资源交易网

如何逆向破解爬虫进阶实战中3.6.6版本的AES加密链接?

查看连接变化进行调试

点击列表链接跳转详情页时发生变化,对项目ID进行加密

对链接进行断点调试,注意正常的chrome抓包是找不到的,此时需要删除列表 a 标签中的 target="_blank" 这个标签元素,然后点击‘事件监听器’,点击‘focus’,点击 js 文件跳转,在 3304 行进行断点调试,使用 event.special 进行搜索自定义的点击函数,在 1939 行进行断点,开启调试点击链接进入调试断点

点击进入下一个函数调用跳转到 VM 中,这里的js函数就是对跳转的链接进行的整个加密,其加密方式为AES加密

修改js文件为自己可以调用的函数

// AES 加密方法(ggzy.zwfwb.tj.gov.cn/jyxxxqgg/index.jhtml) // event.special(点击事件监听) var CryptoJS = require("crypto-js"); function encryptAes () { // var hh = $(this).attr("href"); # 链接参数加密 var hh = 'ggzy.zwfwb.tj.gov.cn:80/jyxxxqgg/991193.jhtml'; var s = 'qnbyzzwmdgghmcnm'; if (typeof (hh) == 'undefined' || hh == '#') { hh = $(this).attr("url"); if (typeof (hh) == 'undefined' || hh == '#') { return } } var aa = hh.split("/"); var aaa = aa.length; var bbb = aa[aaa - 1].split('.'); var ccc = bbb[0]; var cccc = bbb[1]; var r = /^\+?[1-9][0-9]*$/; if (r.test(ccc) && cccc.indexOf('jhtml') != -1) { var srcs = CryptoJS.enc.Utf8.parse(ccc); var k = CryptoJS.enc.Utf8.parse(s); var en = CryptoJS.AES.encrypt(srcs, k, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); var ddd = en.toString(); ddd = ddd.replace(/\//g, "^"); ddd = ddd.substring(0, ddd.length - 2); var bbbb = ddd + '.' + bbb[1]; aa[aaa - 1] = bbbb; var uuu = ''; for (i = 0; i < aaa; i++) { uuu += aa[i] + '/' } uuu = uuu.substring(0, uuu.length - 1); return uuu; } } console.log(encryptAes()); 注意 s = 'qnbyzzwmdgghmcnm' 这个 s 的值可以通过调试断点看到为一个定值,使用全局搜索确定为定值

我唯一的害怕,是你们已经不相信了——不相信规则能战胜潜规则,不相信学场有别于官场,不相信学术不等于权术,不相信风骨远胜于媚骨,在这个怀疑的时代,我们仍然要有信仰,信仰努力而不是运气,这个世界虽然不够纯洁,但我仍然相信它还不能埋没真正有才华的人

本文共计625个文字,预计阅读时间需要3分钟。

如何逆向破解爬虫进阶实战中3.6.6版本的AES加密链接?

AES加密、跳转链接加密+天交所公共资源交易平台+查看连接变化进行调试+点击表格链接跳转详情页时发生变更,对项目ID进行加密+对链接进行断点调试,注意常用的Chrome抓包是找不到的。

AES加密、跳转链接加密

天津市公共资源交易网

如何逆向破解爬虫进阶实战中3.6.6版本的AES加密链接?

查看连接变化进行调试

点击列表链接跳转详情页时发生变化,对项目ID进行加密

对链接进行断点调试,注意正常的chrome抓包是找不到的,此时需要删除列表 a 标签中的 target="_blank" 这个标签元素,然后点击‘事件监听器’,点击‘focus’,点击 js 文件跳转,在 3304 行进行断点调试,使用 event.special 进行搜索自定义的点击函数,在 1939 行进行断点,开启调试点击链接进入调试断点

点击进入下一个函数调用跳转到 VM 中,这里的js函数就是对跳转的链接进行的整个加密,其加密方式为AES加密

修改js文件为自己可以调用的函数

// AES 加密方法(ggzy.zwfwb.tj.gov.cn/jyxxxqgg/index.jhtml) // event.special(点击事件监听) var CryptoJS = require("crypto-js"); function encryptAes () { // var hh = $(this).attr("href"); # 链接参数加密 var hh = 'ggzy.zwfwb.tj.gov.cn:80/jyxxxqgg/991193.jhtml'; var s = 'qnbyzzwmdgghmcnm'; if (typeof (hh) == 'undefined' || hh == '#') { hh = $(this).attr("url"); if (typeof (hh) == 'undefined' || hh == '#') { return } } var aa = hh.split("/"); var aaa = aa.length; var bbb = aa[aaa - 1].split('.'); var ccc = bbb[0]; var cccc = bbb[1]; var r = /^\+?[1-9][0-9]*$/; if (r.test(ccc) && cccc.indexOf('jhtml') != -1) { var srcs = CryptoJS.enc.Utf8.parse(ccc); var k = CryptoJS.enc.Utf8.parse(s); var en = CryptoJS.AES.encrypt(srcs, k, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); var ddd = en.toString(); ddd = ddd.replace(/\//g, "^"); ddd = ddd.substring(0, ddd.length - 2); var bbbb = ddd + '.' + bbb[1]; aa[aaa - 1] = bbbb; var uuu = ''; for (i = 0; i < aaa; i++) { uuu += aa[i] + '/' } uuu = uuu.substring(0, uuu.length - 1); return uuu; } } console.log(encryptAes()); 注意 s = 'qnbyzzwmdgghmcnm' 这个 s 的值可以通过调试断点看到为一个定值,使用全局搜索确定为定值

我唯一的害怕,是你们已经不相信了——不相信规则能战胜潜规则,不相信学场有别于官场,不相信学术不等于权术,不相信风骨远胜于媚骨,在这个怀疑的时代,我们仍然要有信仰,信仰努力而不是运气,这个世界虽然不够纯洁,但我仍然相信它还不能埋没真正有才华的人