码迷,mamicode.com
首页 > 其他好文 > 详细

[WP]XCTF-easyre-153

时间:2020-10-05 22:28:52      阅读:31      评论:0      收藏:0      [点我收藏+]

标签:注意   错误   bsp   list   lazy   出现   elf   int   子进程   

1、查看基本信息,32 位 ELF 程序,注意到是静态链接

技术图片

 

 运用 strings 工具发现了 UPX 字样

技术图片

 

 2、脱壳

技术图片

 

 3、载入 IDA

一个进程在由 pipe()创建管道后,一般再fork一个子进程,然后通过管道实现父子进程间的通信,管道两端可分别用描述字fd[0]以及fd[1]来描述,需要注意的是,管道的两端是固定了任务的。即一端只能用于读,由描述字fd[0]表示,称其为管道读端;另 一端则只能用于写,由描述字fd[1]来表示,称其为管道写端。如果试图从管道写端读取数据,或者向管道读端写入数据都将导致错误发生。

关于 fork 函数

    1)在父进程中,fork返回新创建子进程的进程ID;
    2)在子进程中,fork返回0;
    3)如果出现错误,fork返回一个负值;

在子进程中写入了一个字符串,在父进程中读取,

技术图片

 注意到正确输出后有一个 lol 函数,传入的参数即读取到的 69800876143568214356928753

技术图片

 

 4、写出 EXP,运行得到 flag

 1 a = 69800876143568214356928753
 2 a = list(map(ord, a))
 3 v2 = 2 * a[1]
 4 v3 = a[4] + a[5]
 5 v4 = a[8] + a[9]
 6 v5 = 2 * a[12]
 7 v6 = a[18] + a[17]
 8 v7 = a[10] + a[21]
 9 v8 = a[9] + a[25]
10 v = [v2, v3, v4, v5, v6,v7, v8]
11 flag = ‘‘
12 for i in v:
13     flag += chr(i)
14 print(flag)

技术图片

 

[WP]XCTF-easyre-153

标签:注意   错误   bsp   list   lazy   出现   elf   int   子进程   

原文地址:https://www.cnblogs.com/Tsuiyields/p/13770960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!