吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 417|回复: 2
收起左侧

[C&C++ 原创] 关于GLIBC 2.35-0ubuntu3.8下scanf对system的截断问题

[复制链接]
stribik 发表于 2024-12-13 22:03

关于GLIBC 2.35-0ubuntu3.8下scanf对system的截断问题

这里主要为了记录一下ubuntu22.04对应的scanf 对system地址的截断,刚好作题的时候遇到了这个版本下面的ret2libc攻击,但是最后死活打不通。

首先看到这个版本下的libc中的system:

nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep 'system'
0000000000050d70 T __libc_system@@GLIBC_PRIVATE
0000000000168fb0 T svcerr_systemerr@GLIBC_2.2.5
0000000000050d70 W system@@GLIBC_2.2.5

注意这个0d70,这里就是我们的一个小小坑点,对应我们ascii是\p,就会导致scanf的截断。

所以在用这个打ret2libc的时候,就存在一个不能用这里的system打我们传统的那个链子。
解决办法也很简单,用其他的函数也就可以了,所以最后我这里用的是execve来打(
顺便简单说一下exec的链子怎么写:
函数定义:

int execve(const char *pathname, char *const argv[], char *const envp[]);

链子构成:
pathname(/bin/sh)放入 rdi。
argv[] (NULL)放入 rsi。
envp[] (NULL)放入 rdx。

最后的rop链:
p64(pop_rdi)+p64(bin_sh)+p64(pop_rsi)+p64(0)+p64(pop_rdx)+p64(0)+p64(ret)+p64(exec_addr)

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
pomxion 发表于 2024-12-14 13:29
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
pomxion 发表于 2024-12-14 14:40
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-6 05:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表