这题是和pwnable.kr差不多的一道题,主要区别在于没有给syscall。所以需要自己去找。

只有read和sleep两个函数。

思路一是首先劫持堆栈到bss段,然后调用read函数将sleep的got表中地址改成syscall(直接找到\x0f\x05),将/bin/sh放入bss中,然后设置rax为59调用syscall可以调用execve了,结果这个方法本地打通了远程打不通,不知道是什么原因。应该是地址不一样,所以决定先用write泄露一下地址然后再定位syscall。

未完待续

没有续了,问题出在服务器程序把我的两次read当成一次了,间隔时间太短,sleep(0.1)挂了,sleep(3)ok

另一种方法是看别人的blog中有提到的,在劫持堆栈到bss段之后,可以先用syscall调用write泄露sleep地址,然后计算出/bin/sh\x00的地址,pop rdi,ret;地址和system地址,rax的值可以通过read函数的返回值来控制,也是一个很可行的思路。

转载于:https://www.cnblogs.com/61355ing/p/10471488.html

pwnable.tw unexploitable 分析相关推荐

  1. Pwnable.tw之BookWriter

    Pwnable.tw之BookWriter 知识点 FSOP是FILE Stream Oriented Programming的缩写, 进程内所有的_IO_FILE结构会使用_chain域相互连接成一 ...

  2. pwnable.tw startorw

    emm,之前一直想做tw的pwnable苦于没有小飞机(,今天做了一下发现都是比较硬核的pwn题目,对于我这种刚入门?的菜鸡来说可能难度刚好(orz 1.start 比较简单的一个栈溢出,给出一个li ...

  3. 【pwnable.tw】 death_note

    题目逻辑比较简单,大概增加和删除和打印三个功能: show函数中,打印各日记内容,由于这题没有给出libc文件,应该不需要泄露地址,估计用处不大: delete函数中,正常的free,然后指针修改为n ...

  4. pwn with glibc heap(堆利用手册)

    前言 ​ 对一些有趣的堆相关的漏洞的利用做一个记录,如有差错,请见谅. ​ 文中未做说明 均是指 glibc 2.23 ​ 相关引用已在文中进行了标注,如有遗漏,请提醒. 简单源码分析 ​ 本节只是简 ...

  5. 64位c语言调用32位glibc,glibc fclose源代码阅读及伪造_IO_FILE利用fclose实现任意地址执行...

    简介 最近学习了一下_IO_FILE的利用,刚好在pwnable.tw上碰到一道相关的题目.拿来做了一下,遇到了一些困难,不过顺利解决了,顺便读了一波相关源码,对_IO_FILE有了更深的理解. 文章 ...

  6. shellcode执行盒_简单shellcode学习

    引言 之前遇到没开启NX保护的时候,都是直接用pwtools库里的shellcode一把梭,也不太懂shellcode代码具体做了些什么,遇到了几道不能一把梭的题目,简单学习一下shellcode的编 ...

  7. bugku-游戏过关

    pwnable.tw的calc和pwnable.kr的memcpy难度提升得让我突然像是到了一片知识的孤岛上,举目所望是无尽的未知.才发现自己的汇编基础实在薄弱,另外只通过0day安全分析学了wind ...

  8. 网络安全学习资源分享

    提高技能  网络安全学习资源汇总 项目 描述 OWASP安全的牧羊人(https://security-shepherd.ctf365.com/login.jsp) 作为11/6破 ctflearn( ...

  9. 学习笔记lalala

    orw:发现写shellcode的新大陆 from pwn import * p = remote('chall.pwnable.tw',10001) #p = process('./orw') co ...

最新文章

  1. mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践
  2. [转] Oracle中Blob转Clob
  3. 动态规划——坐标型位操作型
  4. STM32F103:三.(3)MPU6050
  5. 华师大数据科学考研_华东师范大学数据科学与工程需要复习哪些内容?
  6. android 扫描照片功能,巧把安卓手机打造成扫描仪:拍照识别文档、手写笔记转PDF(图)...
  7. 关于Visual Studio “当前不会命中断点.还没有为该文档加载任何符号“的解决方法
  8. mysql 命令 kill_当MySQL事务中发生了网络异常
  9. 生成对抗神经网络基本思想
  10. 计算机论文指导记录怎么写,毕业论文指导记录怎么写
  11. EPUB、CAJ 、PDF 格式的区别,windows上有什么好用的epub阅读器
  12. 利用JAVA流处理-统计男员工人数;找出所有薪资大于 5000 元的女员工;找出大于平均年龄的员工
  13. python抢票_抢票工具成了GitHub热榜第一,最新支持候补抢票,Python跑起来 | 标星8400...
  14. 微软怎么设计Exchange 2003的体系结构
  15. mac os壁纸软件_如何在Mac OS X上更改桌面墙纸
  16. 手机gif图片怎么压缩变小?gif动图怎样缩小?
  17. 回天转债,莱克转债上市价格预测
  18. MNIST | 基于朴素贝叶斯分类器的0-9数字手写体识别
  19. Xss挑战之旅writeup
  20. 慢慢买 | 比价API电商数据采集定制

热门文章

  1. wangEditor Java富文本的图片上传
  2. 全排列—leetcode46
  3. GEMM算法及优化流程详解
  4. 深度学习中常用的激活函数详解及对比分析(sigmoid)
  5. 逆向与汇编的一些笔记
  6. oracle的md5加密
  7. 电脑上同时安装了tensorflow和tensorflow-gpu,如何默认使用tensorflow-gpu
  8. python的16.1节课后练习16-2比较希特卡和死亡谷的气温的问题,最后图像为什么出现乱码?
  9. c++ Segmentation fault (core dumped) 的一个实例
  10. c++ array 模板类使用