码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python逆向之 eval 函数解析,看着一篇就会了,案例掌房


    文章目录

      • ⛳️ 实战场景
      • ⛳️ 加密参数寻找过程

    ⛳️ 实战场景

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

    Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
    随机写入一个账号和密码,测试加密接口。

    • 账号:15012341234
    • 密码:123456

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

    • 请求网址: http://eip.chanfine.com/j_acegi_security_check
    • 请求方法: POST

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

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

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

    ⛳️ 加密参数寻找过程

    直接全局搜索关键字 j_password 即可查询对应值。
    Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
    直接定位到检索结果中的 desEncrypt 函数位置,得到下述内容。
    Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
    鼠标移动到加密函数位置,发现出现 VM 相关内容,这里就可以初步猜测其使用的是 eval 函数加密。

    Python逆向之 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;
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

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

    Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
    结果中发现了加密函数真实位置,并且明显的 eval 痕迹。
    Python逆向之 eval 函数解析,看着一篇就会了,案例掌房
    既然已经找到代码源头,接下来就可以找一款在线解密工具,实施解析即可。

    📢📢📢📢📢📢
    💗 你正在阅读 【梦想橡皮擦】 的博客
    👍 阅读完毕,可以点点小手赞一下
    🌻 发现错误,直接评论区中指正吧
    📆 橡皮擦的第 685 篇原创博客

    从订购之日起,案例 5 年内保证更新

    • ⭐️ Python 爬虫 120,点击订购 ⭐️
    • ⭐️ 爬虫 100 例教程,点击订购 ⭐️
  • 相关阅读:
    SPA项目之登录注册--请求问题(POST&GET)以及跨域问题
    蒙特卡洛树搜索方法介绍——规划与学习
    使用SpringBoot快速构建Web API
    辰奕智能在创业板过会:计划募资约4亿元,约有五成来自境外
    【微服务】CentOS7 虚拟机 安装 Docker
    Compose Material 3 稳定版现已发布 | 2022 Android 开发者峰会
    2020年下半年~2022下半年下午题易错总结
    【2022.7月份停更说明 && 总结】
    2022 ECCV 三维人体重建相关论文汇总
    老生常谈,永恒之蓝-winxp
  • 原文地址:https://blog.csdn.net/hihell/article/details/124922023
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号