在这道题目我花费了很长的时间去理解,因为绕进了死圈子

例行检查我就不放了

关键处在于选择5

使用了realloc,却没有让结构体指针node-> description正确指回去

(11条消息) 攻防世界PWN之Supermarket题解_seaaseesa的博客-CSDN博客

这位师傅博客上面有对realloc的具体解析

这道题的思路就是,我们申请一个0x80的堆,然后通过选择5的realloc申请一个0x90的堆

,申请后0x80的堆会被free掉,然后在申请一个0x20大小的堆,这里就形成了一个uaf,我们通过修改0x90堆里面的内容,可以实现对0x20堆里面的description这个指针的修改,让atoi_got的值去覆盖这个指针

那么当我们修改0x20大小堆的内容时,因为指针指向的是atoi_got处所以就可以在此处覆盖system的值从而拿到shell

完整exp如下

结束!

最新文章

  1. 7.Android开源项目WheelView的时间和地址联动选择对话框
  2. iOS开发中的权限
  3. SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: xxx
  4. nginx1
  5. html5中Canvas为什么要用getContext('2d')
  6. 加载外部JavaScript的最佳方法
  7. MySQL安装(图文详解)
  8. 平常写css网页制作时最实用的九条CSS技巧
  9. poj 3579 Median (二分搜索之查找第k大的值)
  10. Ubuntu14.04安装PostpreSQL9.3.5记录
  11. C#学习日志 day 6 ------ 常用正则表达式例举
  12. iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点
  13. 编译原理Tiny语言的定义
  14. php 弹窗插件
  15. W3Cschool学习笔记——CSS3教程
  16. Angular筛选功能
  17. 简书markdown教程
  18. gtid error set test
  19. go语言之进阶篇通过map生成json
  20. (树的直径)LightOJ -- 1094

热门文章

  1. Json数据使用及学习方法
  2. Python科普系列——类与方法(下篇)
  3. [loj3032]馕
  4. [bzoj5462]新家
  5. Elastic AMP监控.NET程序性能
  6. Codeforces 1288F - Red-Blue Graph(上下界网络流)
  7. 洛谷 P5527 - [Ynoi2012] NOIP2016 人生巅峰(抽屉原理+bitset 优化背包)
  8. Linux—yum安装python-pip
  9. Identity Server 4 从入门到落地(三)—— 创建Web客户端
  10. 求解线性递推方程第n项的一般方法