• 威feng网站的aes算法破解


    网站是: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逆向一般来说不太难,一般网站用全局搜索大法+调试就可以破解,当然瑞数这种需要很深的功底+足够的耐心,一般人就放弃吧,我就是一般人。。。。
      最后祝大家新年快乐,爬虫路上越来越牛逼,还希望疫情早点结束,今年被困在家里了!!!
  • 相关阅读:
    学习进度
    移动端使用rem.js,解决rem.js 行内元素占位问题
    利用递归实现数组的扁平化
    ES6 新增声明变量的 var let const 的区别详解
    js学习笔记
    ajax中error函数参数与返回值详解 200 300 400 500
    处理 vue项目 打包后导致css文件引用静态目录路径异常的问题
    vue-cli3 配置 vue.config.js
    使用 vue-cli3 搭建一个项目
    vue-router params 和 query 的区别
  • 原文地址:https://www.cnblogs.com/xbjss/p/12445111.html
Copyright © 2020-2023  润新知