CTFSHOW-PWN入门-前置基础(pwn13-pwn19)

5 篇文章 0 订阅

pwn13

QQ20240413-220328@2x

使用gcc编译运行获得flag,gcc flag.c -o hello

QQ20240413-220853@2x

flag:ctfshow{hOw_t0_us3_GCC?}

pwn14

QQ20240413-221136@2x

阅读源代码,根据第10行代码得知文件名为key

QQ20240413-225411@2x

使用gcc编译文件后,在当前目录下创建文件key,内容为CTFshow,运行编译后文件,获得flag

QQ20240413-225744@2x

flag:ctfshow{01000011_01010100_01000110_01110011_01101000_01101111_01110111_00001010}

pwn15

QQ20240413-225902@2x

使用nasm生成flag.o文件,nasm -f elf64 flag.asm

ld -s -o flag flag.o生成flag可执行文件

执行./flag获得flag

QQ20240413-230627@2x

flag:ctfshow{@ss3mb1y_1s_3@sy}

pwn16

QQ20240413-231329@2x

gcc flag.s -o flag

执行./flag获得flag

QQ20240413-231305@2x

flag:ctfshow{daniuniuda}

pwn17

QQ20240413-232004@2x

IDA查看反汇编代码,看到case3有system(cat /ctfshow_flag)函数,但是sleep(0x1BF52u)语句要睡眠0x1BF52秒,换算成10进制就是114514秒,那就是31个小时,所以另求他法

QQ20240413-232552@2x

看到case2,首先输出一行字符串,然后让我们输入一行长度为0xA的字符串buf,接着把我们输入的字符串buf赋给dest,然后使用system函数将dest作为参数传入进行命令执行。因此我们想到使用/bin/sh作为参数,执行system(/bin/sh)

QQ20240413-232220@2x

拿到shell,获得flag

QQ20240413-232244@2x

flag:ctfshow{1cc59a63-5e39-4b0c-8627-8c89acf0ca8f}

pwn18

QQ20240413-234750@2x

QQ20240413-235238@2x

QQ20240413-235244@2x

QQ20240413-235335@2x

代码的大概流程需要我们输入一个值v4,看这个值v4是否等于9,如果等于9就执行fake()函数,然后再执行system函数打印出flag。如果不等于9就先执行real()函数,然后再执行system函数打印出flag,因此nc连接之后输入9,获得flag。

QQ20240413-235118@2x

flag:ctfshow{8ca57281-32ce-421c-afc5-2a783c327b8a}

pwn19

QQ20240414-000554@2x

根据题目提示关闭了输出流,nc连接之后可以使用 >&0定向到输入流

pwd >&0

看到输入命令之后,返回了/,说明当前处于根目录

QQ20240414-001445@2x

使用ls >&0查看根目录

QQ20240414-001803@2x

使用cat ctfshow_flag >&0,查看flag

QQ20240414-001928@2x

flag:ctfshow{8f9508f6-4623-4b7f-8e0e-d88e703d771d}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值