吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6502|回复: 81
收起左侧

[Web逆向] 某某方sign参数逆向-------小白讲解02

  [复制链接]
Aircraftcomman5 发表于 2024-12-9 15:01
本帖最后由 Aircraftcomman5 于 2024-12-9 15:29 编辑

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关.本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责。

感谢各位大佬的支持和观看

今天讲一个网站是处于响应头部的 sign 参数 逆向

目标网址
aHR0cHM6Ly9zb3VrZS54ZGYuY24vc2VhcmNoP2NpdHlDb2RlPTQzMDMwMCZjYXRlZ29yeUNvZGU9MTIz

第一步:   
           1.1 打开开发者工具            
             1.2 分页发包找到指定数据包
图片 1.png

第二步:      
        2.1 点击目标数据包的启动器            
          2.1 跟栈,此次简单,第一个栈就可以看到sign
图片 2.png
图片 3.png

第三步:        
        3.1  分页断点 在目标 sign 处         
           3.2  可以看到 2 处的值 就是我们要的sign值            
              3.2  点击 3 到断点指定地点 对比两处sign是否相同               
                 3.3  可以看到两处相同 请求时的也是这里的sign 但值会变化,大家可以自己对比一下,这里节省掉,继续下一步,向上找
图片 4.png
图片 5.png
图片 6.png
第四步:        
        4.1  分析sign值,在那赋值,谁赋值给谁的         
           4.2  在第三步时我们看到 sign:d  是我们要的 那d 也就在他上面是d=s.sign              
              4.3  所以 从 4.2 我们知道了 d 里面存放了 s 的sign值 params 是请求载荷(不需要)                 
                 4.4  根据 图里的 1 , 2 , 3 进行 放走断点 再次发包断点 到s处
图片 7.png
图片 8.png
图片 9.png

第五步:         
        5.1  从第四步 我们知道参数是由 s 传过来的 然后我们 再次分页发包断点 也是直接到了s 定义处            
           5.2  将s 扣取出 放到 我们js文件中 进行一个分析               
              5.3  从内向外分析           
                 5.3.1  ------> 0 : “430300”   是个固定值           
                 5.3.2  ------> l  是一个Object
图片 10.png
图片 11.png
图片 12.png
图片 13.png
                 5.3.3  ------> ot 和 Ge 都是方法
图片 14.png
                  5.3.4  传值过程:         
                      先将两个对象------>传入Ge方法返回值------>传入ot 然后将最终结果赋值给s变量
图片 15.png

第六步:         
          6.1  我们找到了位置            
          6.2  分析了 d 的由来               
           6.3 分析了s 的组成                  
             6.4 我们就可以开始扣取加密函数,来获取我们的的sign值

第七步:
        7.1 在Code中新开一页js文件(临时的只是为了方便查看所需内容)
图片 16.png         
        7.2 复制这一页代码 粘贴到其中(可以折叠代码快速查看)
图片 17.png
         7.3 搜索我们断点位置的关键字方便在js文件的代码中快速定位      
            7.3.1: 比如:  “cityCode: o” , d = s.sign(位置要与浏览器一致)
图片 18.png
         7.4  我们查看 第五步 分析的代码结构 得知:              
             7.4.1   ot函数  和 Ge函数  (寻找方式一样)
图片 19.png
图片 20.png
             7.4.2  代码整合运行调试,查看下一步报错(报错很关键),到这里我们运行,会有报错提示,有些函数未定义,所以我们就缺什么补什么
图片 21.png
图片 22.png
图片 23.png    
             7.4.3  定位到为止之后发现是u.a 从u里面点出来的,那我们在浏览器中找到这个位置,查看u里面是什么,
                     在浏览器中 1的位置 搜索定位,可以发现有多个,在2的位置切换到我们需要的目标位置上,分页断点到目标位置上,进行分析
图片 24.png
图片 25.png
        7.5 我们将鼠标放在u身上可以查看内容发现里面有a 他的内容是一个n函数,我们可以从2 进入到这个a 的地方,进行查看
图片 26.png
           7.5.1 我们可以在此处分析 1 位置是 a我们不做细致分析主要看2,可以看到是个模块,
                     那么初步我们就知道:(1)有加载器、(2)多文件或单文件webpack,
                      可在 3的位置到最顶部查看也就4的位置它属于webpack类的其中一种(这里讲解的不清晰,
                        希望大佬们可以给我提提建议,让我多学习学习)

图片 27.png
图片 28.png
             7.5.2 准备三个文件(为了程序可以快速运行不卡顿,页面整洁效果)           
                       (1) 加载器的文件(加载器在这不讲解,可以去参考有关文章)           
                         (2) 模块存放文件           
                           (3) 环境文件(很少,在这也不讲解,可以去参考有关文章)           
                             (4) 按照图片里面的顺序,进行一个创建文件,导入文件,为后续扣取代码做准备。           
                               (5) 加载器和环境我已经填充好(剩余加载器未导出)所以我在本地操作。
图片 29.png

第八步:         
        8.1 其中1导出加载器到window(全局), 2打印加载时的模块便于查看
图片 30.png
         8.2  返回到我们刚开始报错的u 的位置开始扣取,扣取u我们需要找到它的定义处      
            8.2.1  在第八步我们保存了一个临时文件用于我们查找,双击u 向上找(因为要先定义后使用)我们就要找到他在那定义的
图片 31.png
图片 32.png
            8.2.2  扣取出来放在我们的调试的文件里,还需要再头部定义window,因为加载器导入了window里本地需要定义后使用,我们再次运行
图片 33.png
图片 34.png
         8.3  可以看到这次报错是缺少了模块,而且在第九步导出加载器时同时定义了打印模块,现在排上了用场,
                 通过图片分析让我们知道了缺失那个模块而报错,复制被打印的模块全局搜错寻找。
图片 35.png
             8.3.1  在浏览器中根据1、2、3步骤我们找到了需要模块,但是猜测它有可能模块嵌套模块
                          导致浪费时间,所以将整个文件扣取下来放到之前创建的模块文件中,这样如果有嵌套就不需要担心少扣取
                           (弊端:需要补环境、运行速度慢、有些模块用不到),然后运行

图片 36.png
图片 37.png
            8.3.2 然后很高兴的看到报错换了,Ye,那我们就定位到报错的位置查看那句代码报错,找到之后我们返回到浏览器,
                               注:我们的断点从未取消它还在u哪里也就是9.2.1步骤
图片 38.png
图片 39.png
            8.3.3 搜索关键字,然后放掉u断点,让断点端在Ye处,在2处查看Ye内容,                    
                     跟之前的u查看方法一致但为了节省时间就跳过,直接找他定义处
图片 40.png
图片 41.png
            8.3.4  扣取下来放入主代码里格式与u一致直接改后的图片,再次运行,看报错
图片 42.png
            8.3.5  可以看到报错换了这次是Je 内容查看然后去找位置跟前两个函数扣取一样,
                        所以省略掉,不做讲解只放流程。
图片 43.png
图片 44.png
图片 45.png
         8.4  将Je 扣取完成后,紧接着就报错,不过好在,打印了加载的模块,复制到浏览器里搜索
图片 46.png
图片 47.png
                     8.4.1  将整个代码文件复制下来放入模块文件里,返回调试代码运行测试
图片 48.png

第九步         
         9.1: 代码最后放个debugger 来调试没有报错并且,输出了结果
图片 49.png

总结:      
       1. 首先找了位置   
       2. 分析参数      
       3. 扣取加密函数     
       4. 解决了每个报错信息      
        5. 可以给自己放松一下,欣赏结果带给我们的成就感  

最后,文章哪里有不足之处,还请各位大佬多多提出宝贵的意见,感谢各位的观看,感谢各位大佬的支持



免费评分

参与人数 26吾爱币 +29 热心值 +25 收起 理由
桂原莲子 + 1 + 1 我很赞同!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
juruo + 1 + 1 步骤详细清晰,0基础也能跟着复现
xiaokarami + 1 + 1 谢谢@Thanks!
CYTuo0601 + 1 + 1 谢谢@Thanks!
xiaopacI + 1 我很赞同!
WindRises5 + 1 + 1 我很赞同!
lg99 + 2 + 1 我很赞同!
hd1315358775901 + 1 我很赞同!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
allspark + 1 + 1 用心讨论,共获提升!
cmsttasd + 1 + 1 谢谢@Thanks!
hoon + 1 + 1 我很赞同!
外酥内嫩 + 1 + 1 我很赞同!
ioyr5995 + 1 + 1 我很赞同!
pzqjy2010 + 1 + 1 太厉害了,第一次看没,大概理了思路,得再看一次,跟着操作,感谢分享
吾乃齐天大圣 + 1 + 1 感谢楼主讲得比较详细适合俺这种小白
Issacclark1 + 1 谢谢@Thanks!
beihai1314 + 1 + 1 我很赞同!
djkk99 + 1 用心讨论,共获提升!
liuxuming3303 + 1 + 1 谢谢@Thanks!
Akasiki + 1 + 1 谢谢@Thanks!
Stan4189 + 1 + 1 我很赞同!
xhtdtk + 3 + 1 我很赞同!
406094055 + 1 + 1 我很赞同!
Arcticlyc + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sunqinqiang 发表于 2024-12-16 18:48
学习补环境非常不错!!!

但是逆向其实可以更大胆一点
image.png


到这个函数的时候进去看,多试几次,就会发现入参实际上就是在请求参数加了个appId=5053&t=1734345654013&cityCode=430300&pageIndex=4&pageSize=12&categoryCode=123&order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2

image.png


&order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2
image.png


0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2还是固定值

结合每次的sign都是32位。那就先大胆假设,sign为   md5(调整入参的order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2
验证通过。
kncte 发表于 2024-12-9 16:32
lovelin6 发表于 2024-12-9 15:45
Stan4189 发表于 2024-12-9 18:32
牛逼,看完让我感觉很通透
starktian 发表于 2024-12-9 18:39
楼主NB,受教了,认真学习.
zhang0726 发表于 2024-12-9 20:42
牛逼,学习学习
Tobychen123 发表于 2024-12-9 20:50
大佬牛逼,学习学习
NothingMan2024 发表于 2024-12-9 22:32
不错 很详细 值得学习
头像被屏蔽
pomxion 发表于 2024-12-9 23:12
这逆向的讲解,小白秒懂!谢谢!又学习到
rank1987 发表于 2024-12-10 00:01
讲解的很详细,正好用到
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-6-17 15:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表