漫画网站破解-2
网站破解-2
破解图片加密的在前面,网站破解-1
破解继续
在上次的图片中,出现了数据加密。
数据加密的过程肯定是在js中完成,既然是js完成,那么代码一定是在本地。
这里的经验是,不建议在xhr上直接下断点,大部分会直接进入到实现的基本方法里面,找的非常不方便。
更建议的操作是,直接搜索请求的接口字符串。
如图这样,就很容易找到实现方法,这个代码一看就是vue的样子。做过vue开发的同学应该都知道,为了减少代码的冗余,基本都是会把实现的方法独立出来,需要的时候直接拿来就用。
跟着代码中的,this.$httpRequest。,F9继续进入。
跟着o.Encrypt继续,
这代码猜也能猜出了个大概,用的是AES加密,加密模式是ECB,加密之后base64再过一下。
如图我截图里很明显,其中的o
,也就是AES加密中的密钥,key
就在截图里。我自己在这里绕了好久,o不是默认参数传进来的,我用了最笨的方法,通过chrome的调试一个个组字符串,结果验证了之后还是错的,最后不经意间,看到了最后的代码。
加密解密验证
最后,以网站的源数据和加密之后的数据为样本,找deepseek问了一个php的AES加密案例。
1 | <?php |
最后交叉验证了一下,加密解密匹配。
总结
肯定有人会觉得如此就是莫名其妙,为了这么一个功能,莫名增加了好多代码,关键这些数据也没有必要进行如此复杂的处理。
但是这个功能有一个特别厉害的用途,那就是防墙。
就比如机场网站,一个少不掉的问题,那就是被墙,因为大部分的翻墙网站都是套的开源代码,那么其中通信的数据大同小异,只要墙发现了特征码,就很容易把网站给识别出来。
但是,如果网站的数据是AES这种加密,只要每次请求带上timestamp,那么每次的请求都是不一样的,而返回的请求每次也是不一样的。
这就必然没有特征码,没有特征码,墙还怎么禁。