Python 逆向之 eval 函数解析,看着一篇就会了,案例掌房
⛳️ 实战场景
本篇博客要盘的目标站点是【掌房买好房】登录页加密逻辑,提前访问 http://eip.chanfine.com/login.jsp
做一下接口分析。
![](https://static001.geekbang.org/infoq/da/da440c8329d490bbbad10e154d9d0005.png)
随机写入一个账号和密码,测试加密接口。
账号:15012341234
密码:123456
通过开发者工具查看到接口参数如下所示。
请求网址: http://eip.chanfine.com/j_acegi_security_check
请求方法: POST
其中加密位置呈现如下内容。
j_username: 15012341234
j_password: 䐵匠䴵 N3IRFNdustKHXjJ5PDrZIQ==
j_redirectto:
其中比较重要的就是 j_password
,我们要解析的位置也在这里。
⛳️ 加密参数寻找过程
直接全局搜索关键字 j_password
即可查询对应值。
![](https://static001.geekbang.org/infoq/85/85dbf143da09642a7fbddaf6fbe66ee4.png)
直接定位到检索结果中的 desEncrypt
函数位置,得到下述内容。
![](https://static001.geekbang.org/infoq/cf/cfd107d33cd32aa97bf44cee7ee791bc.png)
鼠标移动到加密函数位置,发现出现 VM 相关内容,这里就可以初步猜测其使用的是 eval
函数加密。
![](https://static001.geekbang.org/infoq/f6/f699bf5117720d22b0ca41bd34285ad6.png)
直接跳转到对应代码部分,其实已经得到了相关逻辑,参考着下述代码编写 Python 代码就可以完成任务,但这与我们一开始学习 eval 逆向相违背。
从上述代码提炼关键字 SECURITYKEY
,在全局代码再次检索。
![](https://static001.geekbang.org/infoq/d4/d45cb72f65f06e1726542983c387b10b.png)
结果中发现了加密函数真实位置,并且明显的 eval
痕迹。
![](https://static001.geekbang.org/infoq/9f/9fa784976e0cb61cd17cd449fbeb1c44.png)
既然已经找到代码源头,接下来就可以找一款在线解密工具,实施解析即可。
📢📢📢📢📢📢💗 你正在阅读 【梦想橡皮擦】 的博客👍 阅读完毕,可以点点小手赞一下🌻 发现错误,直接评论区中指正吧📆 橡皮擦的第 <font color=red>685</font> 篇原创博客
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/c1ae0677dad94977a4f97dbe1】。文章转载请联系作者。
评论