好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 Aircraftcomman5 于 2024-11-26 15:33 编辑
今天分享一个小练习案例
目标:aHR0cHM6Ly9jaGluYXZvbHVudGVlci5tY2EuZ292LmNuL3NpdGUvcHJvamVjdA==
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关.本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,第一次写 ,哪里不到位的还请多多指点,感谢大家的观看
扣取思路:1. 找到指定数据包2. 跟栈找到加密位置3. 扣取加密代码4. 数据对比
第一步:打开开发者工具寻找目标数据包 里面的bean
第二步:找启动器 进入第一个堆栈 将断点移动到send处
2.1.随意点击分页
2.2.再次发包 断住
第三步: 向上跟栈 可以看到 此处有个异步但不用管,因为此时e中目标参数 还处于加密状态 3.1 推测 此处不是
3.2 还需要向上跟栈
第四步: 跟到这里时 1 代表了此时断点所在处,然后向上看,可以看到 2 出现了目标参数
4.1 清楚看到 目标参数 生成
4.2 将断点断在 目标参数生成地方
第五步: 按照1和2 放掉断点 再次分页发送
5.1 在控制台打印t的 值 可以看到 明文 这是未加密时
5.2 全选中 可以看到明文被加密后的值
5.3 位置找到 可以 开始扣取 加密明文的 加密函数
第六步 可以看到这是一个webpack,所以这里需要那个扣取那个,还有一个加载器
6.1 分析这句代码可以得知是先是i()加密 t
6.2 然后是S().encrypt加密 6.1
6.3 然后再使用了一次i() 加密 6.2
6.4 这里就不说怎样找加载器了直接跳过
6.5 扣取出加载器 ,导出备用
6.6 所以要扣取的加密函数为 i() S() 这两个
第七步 像扣取这种函数,就需要找他定义处 ,因为 他肯定是 在某处先定义后使用 所以
7.1 将这整个代码复制到 可以快速查看的工具里 Notepad++ 里面
7.2 进行关键字搜索 可以看到有五个相同的 但他们是一样的加密方式
所以只需要分页断点 参照第一次断住的加密 位置即可
7.3 可以看到 在模块开头 有 i 的定义 同时在分析
7.3.1 2是我们需要的i加密函数 它还使用 1 也就是r ,r加载了一个模块,所以将这两个扣取备用
7.4 接着扣取S()加密函数 先分析
7.4.1 看它的样子猜测像是RSA如果是RSA他肯定在某处new了一次然后使用
7.4.2 双击 S 可以看到就在头顶上,展开发现有new 但是 new的内容里面 跟AES相似 所以跟AES相似,它里面还有个 w 也就是 3 ,这为变量位置也在上面 4 的位置 将他们一并扣取备用
(加密种类学的不是很好,尽请见谅,还请大佬们 多多指点)
7.4.3 将扣取的S加密函数放入code软件运行测试 发现 报错 A 未定义 那么我们就要返回Notepad++ 将A 扣取出 这里就需要 缺什么补什么 直到不报错
7.4.4 将A 补入后 报小a未定义,返回Notepad++ ,寻找发现它也是, 加载的模块跟前面的i 样子相同 但内容不同 扣出备用
7.4.5 将之前的扣取的和现在扣取的合并为一块
第八步 扣取 出加载器 导出使用 修改代码 可以在本地使用
8.1.这里就不讲加载器怎样扣取,直接到扣取后
8.2.将加载器整个扣取后,导出, 需要的模块也在加载器里面自带的
8.3.将原本的的n加载器 在本地 替换为 自己导出的加载器
8.4 准备三个文件 Cryptojs、SWEE、VueLazyload 这是主体里缺失的 另外这样写可以 防止代码在一个文件里 运行慢 还有可以保持简洁保存备用
8.5 然后点击运行可以看到 会依次报错以下三个
第九步 寻找这三个文件 按照顺序 可以发现其实 这三个是 分开的独立文件
9.1 CryptoJS
9.2 swal
9.3 VueLazyload
找到之后 分别放入 之前创建备用的三个的文件中,导入主代码,运行
第十步 调用 加密函数 将参数加密
10.1 将明文数据进行 打印复制到本地10.2 根据浏览器 加密的样子 粘贴复制
10.3 运行发生报错,原因是因为,扣少了,所以进行将S加密函数导出 使用在本地代码中搜索 目标位置 导出
总结 :
1.在本地运行 需要补环境 将所扣代码放入浏览器 进行验证补环境在这不做讲解
2. 需要注意明文的 一致性 否则会导致加密结果不一致
结束语:第一次做文章 不足之处 还有很多 希望大佬们 可以留言对我的不足之处 进行指点 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|