威feng网站的aes算法破解

1,314 阅读2分钟

网站是:aHR0cHM6Ly93d3cuZmVuZy5jb20v

话说这个网站在过年前使用了aes算法,当然过年后也是aes,但就是把秘钥换了,换成更需要解密一段字符串,然后获得秘钥,最后请求时候再去用这个秘钥加密,并且最后发现秘钥和偏移是一样的。

  • 先来看看它的加密参数吧:X-Request-Id 这个参数当然用全局搜索大法可以定位出来,如图:

r = He(data) 打上断点,这里是加密的地方,可以继续追踪康康。

  • 追踪到这里,一目了然了吧,但是有个问题,这里没有秘钥,放到l上也是wordarray,l是秘钥,但是经过了处理,那就可以直接把l处理的方法打上debugger,但是发现调试的时候并不会进到这个断点,原因是在于网页加载的时候,秘钥已经完成初始化了。
  • 这里有个很简单的方法,就可以把秘钥打印出来,hook或者拦截改js文件,由于不会js的hook就拦截改了它的js文件,直接就吐出来了。
  • l = r.enc.Utf8.parse(o) 这个是它的秘钥,o通过parse 这个方法完成初始化的,那就直接找到它,拦截加入debugger。
  • 打开charlse(可以用fd,比较喜欢charlse),找到这个js,打断点

深度刷新该网站,进入响应,然后改就可以了,charlse会帮你吧js格式化好的。

  • 成功进入debugger;
  • 成功打印出来秘钥 但是为甚有两个?这个其实秘钥和偏移是一样的,剩下就猜一猜是哪个就行了,也可以尝试把那个正确的debug出来,挺简单的,多点耐心就好了。 总结一下: js逆向一般来说不太难,一般网站用全局搜索大法+调试就可以破解,当然瑞数这种需要很深的功底+足够的耐心,一般人就放弃吧,我就是一般人。。。。 最后祝大家新年快乐,爬虫路上越来越牛逼,还希望疫情早点结束,今年被困在家里了!!! file file