码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HackTheBox Exatlon 逆向题目分析


    在这里插入图片描述
    题目地址:

    https://app.hackthebox.com/challenges/exatlon
    
    • 1

    开始

    下载程序后,拖入die分析

    在这里插入图片描述

    发现用upx加了壳,我们脱壳即可

    upx -d exatlon_v1
    
    • 1

    在这里插入图片描述

    然后用ghidra打开分析

    在这里插入图片描述

    在函数列表里找到主函数,通过伪代码窗口可以发现一些奇怪的数值

    在这里插入图片描述

    程序在获取了我们输入后,与这些数值做了对比,可以猜测每个字母都对应着程序里的一个数

    在这里插入图片描述

    我们运行程序看看是什么样子的

    在这里插入图片描述

    在主函数上面也看到了这些输出信息

    在这里插入图片描述

    接下来用gdb动态分析,看看我们的猜想对不对

    gdb exatlon_v1
    
    • 1

    首先在ghidra汇编界面找到和我们输入做对比的地址

    在这里插入图片描述

    然后去gdb里下一个断点

    b *0x404d2d
    run
    
    • 1
    • 2

    然后我们输入这个平台flag的首字母

    HTB{
    
    • 1

    在这里插入图片描述

    可以看到我们输入的字符都变成了数值

    在这里插入图片描述

    和程序里对比的数值头部一致

    在这里插入图片描述

    接下来我们可以一个一个输入键盘上的字母,来获取对应的数值

    1968:{ 2000:} 1520:_ 2016:~ 1536:` 528:! 1024:@ 560:# 576:$ 592:% 1504:^ 608:& 672:* 640:( 656:) 720:- 688:+ 976:= 1456:[ 1488:] 1984:| 1472:\ 704:, 736:. 752:/ 1008:? 960:< 992:> 928:: 944:; 784:1 800:2 816:3 832:4 848:5 864:6 880:7 896:8 912:9 768:10 1552:a 1568:b 1584:c 1600:d 1616:e 1632:f 1648:g 1664:h 1680:i 1696:j 1712:k 1728:l 1744:m 1760:n 1776:o 1792:p 1808:q 1824:r 1840:s 1856:t 1872:u 1888:v 1904:w 1920:x 1936:y 1952:z 1040:A 1056:B 1072:C 1088:D 1104:E 1120:F 1136:G 1152:H 1168:I 1184:J 1200:K 1216:L 1232:M 1248:N 1264:O 1280:P 1296:Q 1312:R 1328:S 1344:T 1360:U 1376:V 1392:W 1408:X 1424:Y 1440:Z
    
    • 1

    然后和程序里的值对比,即可得到flag

    HTB{l3g1c3l_sh1ft_l3ft_1nsr3ct1on!!}
    
    • 1
  • 相关阅读:
    java基于springboot+vue的毕业设计选题系统
    Mysql为何不推荐写多表SQL
    【Spring AI 来了】
    【JavaWeb】GET和POST
    Redis实战案例及问题分析之分布式锁解决优惠券秒杀场景集群并发下的安全问题
    宇视 EZView客户端是否支持接收VMS平台的报警
    Python实现基于ClipCap的看图说话Image Caption模型
    Jenkins 权限管理
    JavaSE入门--初始Java
    每日Leecode算法题:1337.矩阵中战斗力最弱的k行
  • 原文地址:https://blog.csdn.net/qq_45894840/article/details/126686356
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    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号