GHCTF有感
前言学校的新生赛,小登是废物,不太会布栈那道(不怎么动调的报应来了),现在分析一下。
[官方的wp | iyheart的博客](https://iyheart.github.io/2025/03/09/CTFblog/write up系列blog/2025年/GHCTF2025-PWN方向wp/)
分析checksec查看文件,没开任何保护,考虑的做法有ret2shellcode和ret2syscall。
再看ida分析内容,发现程序只有两部分内容,一是打印图像,二是读取。关键在于读取这一部分,发现它不是常规的syscall ret 而是syscall jmp [rsp+8+var_8] (var_8= qword ptr -8),即程序读取后会跳转到rsp所储存的位置。
再试试ropper查看gadget,发现基本上少的可怜,再看ida给出了几条关键的gadgets。
如上所示,给了rsi rdi rdx的gadgets,但是没有rax相关的gadget,再看
哎,xchg可以交换rax和r13的值,所以我们可以控制r13进而控制 ...
WSL安装pwn环境
安装WSL步骤首先,摁下win在搜索栏中搜索 功能,在弹出的窗口下滑找到适用于Linux的Windows子系统和虚拟机平台这两项,并且勾选,随后重启电脑。
随后,打开windows自带的Microsoft store里,搜索想要的linux发行版本,这里我下载的是ubunutu 20.04版本,点击下载,下载后打开,输入你的名称和密码。
或者直接用 PowerShell(ctrl+shift+enter进入管理者模式) 命令安装:
wsl --install -d Ubuntu-20.04
安装完成后,ubuntu 并进行初始化。
可能遇到的问题在安装完后,打开wsl,可能出现
Installing,this may take a few minutes..WslRegisterDistribution failedwitherror:0x800701bcError:0x800701bc WSL 2 ?????????????????? https://aka.ms/ws12kernelPress anykey to continue..
这个原因是内核没有更新,只需要用 Pow ...