python爬虫进阶js逆向实战 | 某房地产网站AES加密分析

好久没发文章了 上一个AES加密的网站
aHR0cHM6Ly96dy5jZHpqcnliLmNvbS9yb29tcHJpY2V6ancvaW5kZXguaHRtbD9wYXJhbT0yRjMwQkEzMUVEODQ4OEVGNTYyRDU2OUY2RUQ1MkZFRUM0MDJFNEZGOTBFRDcyQTg1NzU0QTg3OUUwMzY1RUEyOTc5M0M1Q0ZERUE0RUVCODFDQjNDRDUwN0UwMjI5NTg=
老规矩F12抓一下包,看一下请求数据
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第1张图片
可以看到参数是被加密了的
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第2张图片
返回的数据也是加了密的,
第一步咱先看看参数的加密是怎么来的
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第3张图片
在这里简单看一下请求结构,一下子来了感觉 jQuery就不用看了 基本加密都不会在里边,但是这里有个full.min.js感觉还很像混淆后的代码 咱点进去看一下
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第4张图片
点进来看到很多混淆的代码 但是看着这个函数就是一个ajax发送请求的函数 感觉一下子到位了 尝试着在这个data的内容打一下断点,点击一下页面 看看会不会断到
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第5张图片
很幸运的可以看到这里就是加密后的参数,然后点进去看一下 看看里边是怎么加密的
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第6张图片
在这个函数里可以看到参数加密前的样子,然后单步往下走 看看具体加密的地方在哪一步
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第7张图片
在这里可以看到hno在这里被加密了咱看看这个FuniEncryptionUtil是个什么东西

python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第8张图片
搜索一下可以看到直接在上面定义了一个对象 就可以看到是AES的加密
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第9张图片
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第10张图片
直接在控制台打印一下就可以看到直接出结果了
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第11张图片

接着往下走可以看到这里传进来的四个参数分别用AES加密了一遍,然后整体转成字符串又加密了一次
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第12张图片
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第13张图片在这里可以看到结果都是一样的
然后再往下看可以看到这个加密的结果又被用xxtea加密的方式又加密了一次
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第14张图片
在这里参数加密的步骤基本就清洗了
接着再看一下返回结果的解密是怎么回事
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第15张图片
在同样的一个方法里能看到不仅有参数加密的存在还能看到解密结果的存在 点进去看看这个方法是什么情况
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第16张图片
在这个方法里面可以看到这个是AES的解密直接解出来的
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第17张图片
控制台直接打印出来这个是只有一层解密的,直接就可以解出来

扣的js代码直接拿出来就可以用 导入两个加密的包,在这里我就不详细说了,比较简单的,想要代码可以直接私聊我
python爬虫进阶js逆向实战 | 某房地产网站AES加密分析_第18张图片
以上内容仅供学习使用,请勿用作其他用途

你可能感兴趣的:(爬虫,爬虫,python,js)