XCTF-RE-easyre-153-父子进程

CTF · 03-21 · 92 人浏览

一、查看文件类型

Pasted image 20231213193505.png
ELF32 有upx壳
脱壳后kali中运行
Pasted image 20231213193650.png

二、IDA静态分析

1.查看main

Pasted image 20231213195340.png
程序逻辑分析:

  • 程序会创建一个管道,然后开启一个子进程进行进程间通信。子进程将 69800876143568214356928753 发送给父进程。父进程要求用户输入一个整数,并且等于子进程的 pid 。后面就会对发送过来的数据进行解码成 flag 输出来。
  • lol() 函数就是解码函数

查看lol()

用IDA7.6和7.5 F5后都没有程序内容
Pasted image 20231213195554.png
查看汇编窗口
Pasted image 20231213195637.png
发现有内容,可能新版IDA反编译此程序有问题
查看WP后发现别人的没有问题
Pasted image 20231213195709.png

三、解题

脚本如下:

a='69800876143568214356928753'  
v2=chr(2*ord(a[1]))  
v3=chr(ord(a[4])+ord(a[5]))  
v4=chr(ord(a[8])+ord(a[9]))  
v5=chr(2*ord(a[12]))  
v6=chr(ord(a[18])+ord(a[17]))  
v7=chr(ord(a[10])+ord(a[21]))  
v8=chr(ord(a[9])+ord(a[25]))  
print(v2+v3+v4+v5+v6+v7+v8)

运行结果:
rhelheg

尝试提交后发现不对,加上flag{}也不对,查看WP后发现
flag为:RCTF{rhelheg}
提示里也没有

CTF RE UPX XCTF 父子进程
Theme Jasmine by Kent Liao