原文地址:https://github.com/wizardforcel/sploitfun-linux-x86-exp-tut-zh/blob/master/7.md

这一节是简单暴力的一节,作者讲的很清楚,有些坑我在之前的说明中也已经说过了。这次说一个坑,我调了很久,不一定每个人都会遇到。

TypeError: execv() arg 2 must contain only strings的问题

这个是问题真的很坑啊,就是地址计算会产生一个call不识别的字符(看起来是这样,具体没有细究)

在前几节中,遇到这个问题,建议换个语言,比如爆破使用C而不是Python,想绕真的不容易

我试过了str(buf)和“%s” % buf两种办法,并不好使,解决的办法是,换一个不容易踩到坑的地址,反正Exploit有技巧的成分,也有运气的成分

比如我的exit的偏移地址是0x33400,和上边的libc地址加和后,总是报错,因此,使用

jourluohua@jourluohua-virtual-machine:~/work/test7$ readelf -s /lib/i386-linux-gnu/libc-2.19.so | grep exit111: 00033830    58 FUNC    GLOBAL DEFAULT   12 __cxa_at_quick_exit@@GLIBC_2.10139: 00033400    45 FUNC    GLOBAL DEFAULT   12 exit@@GLIBC_2.0446: 00033870   268 FUNC    GLOBAL DEFAULT   12 __cxa_thread_atexit_impl@@GLIBC_2.18554: 000b6704    24 FUNC    GLOBAL DEFAULT   12 _exit@@GLIBC_2.0609: 0011cc40    56 FUNC    GLOBAL DEFAULT   12 svc_exit@@GLIBC_2.0645: 00033800    45 FUNC    GLOBAL DEFAULT   12 quick_exit@@GLIBC_2.10868: 00033630    84 FUNC    GLOBAL DEFAULT   12 __cxa_atexit@@GLIBC_2.1.31037: 00127490    60 FUNC    GLOBAL DEFAULT   12 atexit@GLIBC_2.01380: 001ab204     4 OBJECT  GLOBAL DEFAULT   31 argp_err_exit_status@@GLIBC_2.11491: 000f9950    62 FUNC    GLOBAL DEFAULT   12 pthread_exit@@GLIBC_2.02087: 001ab154     4 OBJECT  GLOBAL DEFAULT   31 obstack_exit_failure@@GLIBC_2.02240: 00033430    77 FUNC    WEAK   DEFAULT   12 on_exit@@GLIBC_2.02383: 000fa4c0     2 FUNC    GLOBAL DEFAULT   12 __cyg_profile_func_exit@@GLIBC_2.2

最有可能的offset是0x33400,但是这不是不好使么,发现存在一个_exit@@GLIBC_2.0的项,使用这个偏移成功爆破。

转载于:https://www.cnblogs.com/jourluohua/p/8996243.html

Linux Exploit系列之七 绕过 ASLR -- 第二部分相关推荐

  1. Linux (x86) Exploit 开发系列教程之七 绕过 ASLR -- 第二部分

    (1)原理: 使用爆破技巧,来绕过共享库地址随机化.爆破:攻击者选择特定的 Libc 基址,并持续攻击程序直到成功.这个技巧是用于绕过 ASLR 的最简单的技巧. (2)漏洞代码 //vuln.c # ...

  2. Linux Exploit系列之三 Off-By-One 漏洞 (基于栈)

    Off-By-One 漏洞 (基于栈) 原文地址:https://bbs.pediy.com/thread-216954.htm 什么是off by one? 将源字符串复制到目标缓冲区可能会导致of ...

  3. linux的地址随机化ASLR,[翻译]Linux (x86) Exploit 开发系列教程之六(绕过ASLR - 第一部分)...

    前提条件: 经典的基于堆栈的缓冲区溢出 虚拟机安装:Ubuntu 12.04(x86) 在以前的帖子中,我们看到了攻击者需要知道下面两样事情 堆栈地址(跳转到shellcode) libc基地址(成功 ...

  4. Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分

    绕过 ASLR – 第三部分 译者:飞龙 原文:Bypassing ASLR – Part III 预备条件: 经典的基于栈的溢出 绕过 ASLR – 第一部分 VM 配置:Ubuntu 12.04 ...

  5. aslr oracle,Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分

    绕过 ASLR – 第三部分 预备条件: VM 配置:Ubuntu 12.04 (x86) 在这篇文章中,让我们看看如何使用 GOT 覆盖和解引用技巧.来绕过共享库地址随机化.我们在第一部分中提到过, ...

  6. 《Qt for Symbian》翻译系列之七:第二章 开始(1)

    <Qt for Symbian>翻译系列之七:第二章 开始(1) 2011年04月06日 本章主要介绍应用于Symbian平台的QT开发工具.对于Symbian平台的新手,本章首先通过逐步 ...

  7. linux怎么创建牡蛎_文件amp;目录小技巧 | Linux后门系列

    0x01 Linux 目录技巧 我们都知道 Windows 下文件和文件夹命名是有很多规则和限制的,但是可以通过一些程序来绕过限制,今天我们来看看 Linux 有哪些有趣的规则 参考 https:// ...

  8. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

  9. linux使用shell函数扩充命令,Linux Shell系列教程之(十五) Shell函数简介 | Linux大学...

    摘要 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高. 高级语言都支持函数,Shell也不例外.今天就为大家介绍下Shell中函数相关用法. 函数可以将一个复杂功能划 ...

最新文章

  1. qq发文件大小上限_微信又放大招!网友:QQ可以卸载了?
  2. Remove Nth Node From End of List leetcode java
  3. 我为什么对TypeScript由黑转粉?
  4. 使用Maven Failsafe和JUnit @Category将集成测试与单元测试分开
  5. Kevin专栏---如何制作试用版安装包
  6. Matlab Tricks(三十) —— 任意区间的均匀分布
  7. 男子造出山寨ATM机 盗信息做假卡取钱13万
  8. php基础语法学习汇总
  9. ITIL4讲解: 组合管理
  10. 酷安uwp版|酷安uwp版客户端
  11. 我的Windows实用软件清单
  12. uniapp微信小程序引用标准版交易组件
  13. 笔记本运行php的快捷键是啥,雷神笔记本u盘启动快捷键是什么|雷神笔记本按哪个键进u盘启动...
  14. 解决QT接受串口数据时数据更新不及时,串口数据太多导致程序界面崩溃,串口接收数据过快等问题
  15. AI内容生成工具列表,可用于生成 AI 内容的工具列表。具有图像生成、文本生成等功能。
  16. 稳定性和高可用如何保障?一手测评华为云网站高可用解决方案
  17. Calling Extraterrestrial Intelligence Again
  18. Java与C语言中的锁
  19. vysor 绿屏_如何使用iPhone在自己的绿屏上拍摄
  20. 短信发送验证码实现验证

热门文章

  1. chattr lsattr
  2. 企业与黑客攻击 就是一场军备竞赛
  3. StringUtils 中 isEmpty 和 isBlank 的区别
  4. [C/C++] String Reverse 字符串 反转
  5. HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题
  6. Real Application Testing Database Replay、SPA的价格和介绍
  7. 相聚“金巴蜀”、付诸笑谈中
  8. 用python的进行压缩文件
  9. [Java] 蓝桥杯 BASIC-10 基础练习 十进制转十六进制
  10. [Python] L1-023. 输出GPLT-PAT团体程序设计天梯赛GPLT