Linux Exploit系列之七 绕过 ASLR -- 第二部分
原文地址: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 -- 第二部分相关推荐
- Linux (x86) Exploit 开发系列教程之七 绕过 ASLR -- 第二部分
(1)原理: 使用爆破技巧,来绕过共享库地址随机化.爆破:攻击者选择特定的 Libc 基址,并持续攻击程序直到成功.这个技巧是用于绕过 ASLR 的最简单的技巧. (2)漏洞代码 //vuln.c # ...
- Linux Exploit系列之三 Off-By-One 漏洞 (基于栈)
Off-By-One 漏洞 (基于栈) 原文地址:https://bbs.pediy.com/thread-216954.htm 什么是off by one? 将源字符串复制到目标缓冲区可能会导致of ...
- linux的地址随机化ASLR,[翻译]Linux (x86) Exploit 开发系列教程之六(绕过ASLR - 第一部分)...
前提条件: 经典的基于堆栈的缓冲区溢出 虚拟机安装:Ubuntu 12.04(x86) 在以前的帖子中,我们看到了攻击者需要知道下面两样事情 堆栈地址(跳转到shellcode) libc基地址(成功 ...
- Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分
绕过 ASLR – 第三部分 译者:飞龙 原文:Bypassing ASLR – Part III 预备条件: 经典的基于栈的溢出 绕过 ASLR – 第一部分 VM 配置:Ubuntu 12.04 ...
- aslr oracle,Linux (x86) Exploit 开发系列教程之八 绕过 ASLR -- 第三部分
绕过 ASLR – 第三部分 预备条件: VM 配置:Ubuntu 12.04 (x86) 在这篇文章中,让我们看看如何使用 GOT 覆盖和解引用技巧.来绕过共享库地址随机化.我们在第一部分中提到过, ...
- 《Qt for Symbian》翻译系列之七:第二章 开始(1)
<Qt for Symbian>翻译系列之七:第二章 开始(1) 2011年04月06日 本章主要介绍应用于Symbian平台的QT开发工具.对于Symbian平台的新手,本章首先通过逐步 ...
- linux怎么创建牡蛎_文件amp;目录小技巧 | Linux后门系列
0x01 Linux 目录技巧 我们都知道 Windows 下文件和文件夹命名是有很多规则和限制的,但是可以通过一些程序来绕过限制,今天我们来看看 Linux 有哪些有趣的规则 参考 https:// ...
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...
- linux使用shell函数扩充命令,Linux Shell系列教程之(十五) Shell函数简介 | Linux大学...
摘要 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高. 高级语言都支持函数,Shell也不例外.今天就为大家介绍下Shell中函数相关用法. 函数可以将一个复杂功能划 ...
最新文章
- qq发文件大小上限_微信又放大招!网友:QQ可以卸载了?
- Remove Nth Node From End of List leetcode java
- 我为什么对TypeScript由黑转粉?
- 使用Maven Failsafe和JUnit @Category将集成测试与单元测试分开
- Kevin专栏---如何制作试用版安装包
- Matlab Tricks(三十) —— 任意区间的均匀分布
- 男子造出山寨ATM机 盗信息做假卡取钱13万
- php基础语法学习汇总
- ITIL4讲解: 组合管理
- 酷安uwp版|酷安uwp版客户端
- 我的Windows实用软件清单
- uniapp微信小程序引用标准版交易组件
- 笔记本运行php的快捷键是啥,雷神笔记本u盘启动快捷键是什么|雷神笔记本按哪个键进u盘启动...
- 解决QT接受串口数据时数据更新不及时,串口数据太多导致程序界面崩溃,串口接收数据过快等问题
- AI内容生成工具列表,可用于生成 AI 内容的工具列表。具有图像生成、文本生成等功能。
- 稳定性和高可用如何保障?一手测评华为云网站高可用解决方案
- Calling Extraterrestrial Intelligence Again
- Java与C语言中的锁
- vysor 绿屏_如何使用iPhone在自己的绿屏上拍摄
- 短信发送验证码实现验证
热门文章
- chattr lsattr
- 企业与黑客攻击 就是一场军备竞赛
- StringUtils 中 isEmpty 和 isBlank 的区别
- [C/C++] String Reverse 字符串 反转
- HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题
- Real Application Testing Database Replay、SPA的价格和介绍
- 相聚“金巴蜀”、付诸笑谈中
- 用python的进行压缩文件
- [Java] 蓝桥杯 BASIC-10 基础练习 十进制转十六进制
- [Python] L1-023. 输出GPLT-PAT团体程序设计天梯赛GPLT