吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4705|回复: 81
上一主题 下一主题
收起左侧

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

  [复制链接]
跳转到指定楼层
楼主
Aircraftcomman5 发表于 2024-12-9 15:01 回帖奖励
本帖最后由 Aircraftcomman5 于 2024-12-9 15:29 编辑

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

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

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

目标网址
aHR0cHM6Ly9zb3VrZS54ZGYuY24vc2VhcmNoP2NpdHlDb2RlPTQzMDMwMCZjYXRlZ29yeUNvZGU9MTIz

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


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



第三步:        
        3.1  分页断点 在目标 sign 处         
           3.2  可以看到 2 处的值 就是我们要的sign值            
              3.2  点击 3 到断点指定地点 对比两处sign是否相同               
                 3.3  可以看到两处相同 请求时的也是这里的sign 但值会变化,大家可以自己对比一下,这里节省掉,继续下一步,向上找



第四步:        
        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处




第五步:         
        5.1  从第四步 我们知道参数是由 s 传过来的 然后我们 再次分页发包断点 也是直接到了s 定义处            
           5.2  将s 扣取出 放到 我们js文件中 进行一个分析               
              5.3  从内向外分析           
                 5.3.1  ------> 0 : “430300”   是个固定值           
                 5.3.2  ------> l  是一个Object




                 5.3.3  ------> ot 和 Ge 都是方法

                  5.3.4  传值过程:         
                      先将两个对象------>传入Ge方法返回值------>传入ot 然后将最终结果赋值给s变量


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

第七步:
        7.1 在Code中新开一页js文件(临时的只是为了方便查看所需内容)
        
        7.2 复制这一页代码 粘贴到其中(可以折叠代码快速查看)

         7.3 搜索我们断点位置的关键字方便在js文件的代码中快速定位      
            7.3.1: 比如:  “cityCode: o” , d = s.sign(位置要与浏览器一致)

         7.4  我们查看 第五步 分析的代码结构 得知:              
             7.4.1   ot函数  和 Ge函数  (寻找方式一样)


             7.4.2  代码整合运行调试,查看下一步报错(报错很关键),到这里我们运行,会有报错提示,有些函数未定义,所以我们就缺什么补什么


   
             7.4.3  定位到为止之后发现是u.a 从u里面点出来的,那我们在浏览器中找到这个位置,查看u里面是什么,
                     在浏览器中 1的位置 搜索定位,可以发现有多个,在2的位置切换到我们需要的目标位置上,分页断点到目标位置上,进行分析


        7.5 我们将鼠标放在u身上可以查看内容发现里面有a 他的内容是一个n函数,我们可以从2 进入到这个a 的地方,进行查看

           7.5.1 我们可以在此处分析 1 位置是 a我们不做细致分析主要看2,可以看到是个模块,
                     那么初步我们就知道:(1)有加载器、(2)多文件或单文件webpack,
                      可在 3的位置到最顶部查看也就4的位置它属于webpack类的其中一种(这里讲解的不清晰,
                        希望大佬们可以给我提提建议,让我多学习学习)



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


第八步:         
        8.1 其中1导出加载器到window(全局), 2打印加载时的模块便于查看

         8.2  返回到我们刚开始报错的u 的位置开始扣取,扣取u我们需要找到它的定义处      
            8.2.1  在第八步我们保存了一个临时文件用于我们查找,双击u 向上找(因为要先定义后使用)我们就要找到他在那定义的


            8.2.2  扣取出来放在我们的调试的文件里,还需要再头部定义window,因为加载器导入了window里本地需要定义后使用,我们再次运行


         8.3  可以看到这次报错是缺少了模块,而且在第九步导出加载器时同时定义了打印模块,现在排上了用场,
                 通过图片分析让我们知道了缺失那个模块而报错,复制被打印的模块全局搜错寻找。

             8.3.1  在浏览器中根据1、2、3步骤我们找到了需要模块,但是猜测它有可能模块嵌套模块
                          导致浪费时间,所以将整个文件扣取下来放到之前创建的模块文件中,这样如果有嵌套就不需要担心少扣取
                           (弊端:需要补环境、运行速度慢、有些模块用不到),然后运行



            8.3.2 然后很高兴的看到报错换了,Ye,那我们就定位到报错的位置查看那句代码报错,找到之后我们返回到浏览器,
                               注:我们的断点从未取消它还在u哪里也就是9.2.1步骤


            8.3.3 搜索关键字,然后放掉u断点,让断点端在Ye处,在2处查看Ye内容,                    
                     跟之前的u查看方法一致但为了节省时间就跳过,直接找他定义处


            8.3.4  扣取下来放入主代码里格式与u一致直接改后的图片,再次运行,看报错

            8.3.5  可以看到报错换了这次是Je 内容查看然后去找位置跟前两个函数扣取一样,
                        所以省略掉,不做讲解只放流程。



         8.4  将Je 扣取完成后,紧接着就报错,不过好在,打印了加载的模块,复制到浏览器里搜索


                     8.4.1  将整个代码文件复制下来放入模块文件里,返回调试代码运行测试


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


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

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



免费评分

参与人数 25吾爱币 +28 热心值 +24 收起 理由
笙若 + 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
学习补环境非常不错!!!

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



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




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



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

结合每次的sign都是32位。那就先大胆假设,sign为   md5(调整入参的order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2
验证通过。
沙发
lovelin6 发表于 2024-12-9 15:45
3#
kncte 发表于 2024-12-9 16:32
写的不错!老鸟已经在库库撞sha md5了

2024-12-9.png (115.62 KB, 下载次数: 3)

2024-12-9.png
4#
Stan4189 发表于 2024-12-9 18:32
牛逼,看完让我感觉很通透
5#
starktian 发表于 2024-12-9 18:39
楼主NB,受教了,认真学习.
6#
Akasiki 发表于 2024-12-9 19:37
学习学习,楼主nb
7#
Dajun201716 发表于 2024-12-9 19:53
感谢大神分享
8#
zhang0726 发表于 2024-12-9 20:42
牛逼,学习学习
9#
Tobychen123 发表于 2024-12-9 20:50
大佬牛逼,学习学习
10#
NothingMan2024 发表于 2024-12-9 22:32
不错 很详细 值得学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-1-25 22:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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