江苏经贸某技术学院招标平台(代码高度混淆,cookie加密)

 

 

网址:aHR0cHM6Ly93d3cuanZpYy5lZHUuY24vemJiLzcwOS9saXN0OC5odG0= 

前言:文章依旧只提供学习使用,不做其他用途

打开fiddler,使用hook直接定位到cookie加密的位置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

跟到加密位置,发现是高度混淆的代码

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

打上断点以后发现断点不在原来位置断,此时就能发现这个JS是动态的,我这边选择的是本地替换,因为这个站会检测到油猴,fiddler,不能使用他们来进行替换

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_18,color_FFFFFF,t_70,g_se,x_16

再次重复之前的操作,然后断到我们想要的位置,简单分析一下,发现这边我们只需要扣出三个函数就行

 

        var R$iM = R$lh();
        var R$kh = R$a0();
        var R$f1 = R$ec();

这一步就很简单了,我们直接跟进去这三个函数,然后缺哪个补哪个

第一个函数跟第二个扣法完全一样,没什么技术含量。第三个函数就是个简单的时间戳

扣完这个时候我们就会发现他们的是随机变动的

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_11,color_FFFFFF,t_70,g_se,x_16

这里感谢李成功大佬给的思路,全局看一下,这种值一般都是接口返回的,我们整个JS大概走一遍,发现有几处可疑的地方

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

全局发现这三个位置返回的函数是变动的,这种情况不确定的话,就都下上断点,一点一点跟进去看,最好发现只有这个R$dI函数生成我们要想的东西。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

 

 再次进行跟栈,最好跟到R$mq这个函数。发现这里就是遍历生成我们想要的数据

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

我一开始跟到这里我就很奇怪,我发现为什么是一个数组,而不是明文。李成功大佬让我去搜一下

 fromCharCode这个函数 ,这时我才发现,他是直接把fromCharCode函数直接使用apply立即执行了,也怪我扣的时候不仔细,没有去查看这个关键函数

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

最后一步,使用这个函数打印一下数组里面的信息,发现就是我们想要的数据,就此,整个cookie加密算法扣出来了。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l5bm05LqU5pyI,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

结尾:我第一次扣这种cookie加密并且混淆的代码,对我来说异常艰辛,再次李成功感谢大佬给提供的思路。我也希望我有一天能赶上大佬们的步伐。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值