Python逆向之 eval 函数解析,看着一篇就会了,案例掌房

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python逆向之 eval 函数解析,看着一篇就会了,案例掌房相关的知识,希望对你有一定的参考价值。

@[toc]

⛳️ 实战场景

本篇博客要盘的目标站点是【掌房买好房】登录页加密逻辑,提前访问 http://eip.chanfine.com/login.jsp 做一下接口分析。


随机写入一个账号和密码,测试加密接口。

  • 账号:15012341234
  • 密码:123456

通过开发者工具查看到接口参数如下所示。

其中加密位置呈现如下内容。

  • j_username: 15012341234
  • j_password: 䐵匠䴵N3IRFNdustKHXjJ5PDrZIQ==
  • j_redirectto:

其中比较重要的就是 j_password,我们要解析的位置也在这里。

⛳️ 加密参数寻找过程

直接全局搜索关键字 j_password 即可查询对应值。

直接定位到检索结果中的 desEncrypt 函数位置,得到下述内容。

鼠标移动到加密函数位置,发现出现 VM 相关内容,这里就可以初步猜测其使用的是 eval 函数加密。


直接跳转到对应代码部分,其实已经得到了相关逻辑,参考着下述代码编写 Python 代码就可以完成任务,但这与我们一开始学习 eval 逆向相违背。

function desEncrypt(value, xForm, type) 
    if (_0(xForm)) 
        return value
     else 
        var keyObj = ;
        if (type == null || "aes" == type.toLowerCase()) 
            keyObj = SECURITYKEY.get();
            value = CryptoJS.AES.encrypt(value, CryptoJS.enc.Utf8.parse(keyObj.key), 
                iv: CryptoJS.enc.Utf8.parse(keyObj.iv)
            ).toString()
         else 
            keyObj = SECURITYKEY.get(des);
            value = CryptoJS.DES.encrypt(value, CryptoJS.enc.Hex.parse(keyObj.key), 
                iv: CryptoJS.enc.Hex.parse(keyObj.iv)
            )
        
        return keyObj.security + value
    

从上述代码提炼关键字 SECURITYKEY,在全局代码再次检索。


结果中发现了加密函数真实位置,并且明显的 eval 痕迹。

既然已经找到代码源头,接下来就可以找一款在线解密工具,实施解析即可。

以上是关于Python逆向之 eval 函数解析,看着一篇就会了,案例掌房的主要内容,如果未能解决你的问题,请参考以下文章

Python逆向之 eval 函数解析,看着一篇就会了,案例掌房

获取安卓设备唯一标识,看着一篇就够了

mongodb还不会?万字长文解析揉碎了给你讲,收藏这一篇就够了

值得珍藏!从技术运营中台建设到 AIOps 实践,看着一篇就够了

Python 函数式编程,看这一篇就够了!

Python 函数式编程,看这一篇就够了!