GFSJ0381-【echo-server】
花指令
打开到这里 第一个nop点位 然后对下面的一坨按u+p
然后变这样 发现是一个jmp永跳 跳的还是它下一位 所以按u 然后nop第一个字节就可以
然后再按u+p 这样
能看到这个永跳了一个错误地址按u看看
发现是一个字符串 F1@gA 看下面cmp 是正确的字符串 通过了但是没有给flag 程序也退出了
这个patch掉E8
同时能看到上面的有一个跳转 根据dword_804A088 我们查看调用发现传了一个 1 那我们把jzpatch成jmp那不就好了吗 然后运行输入解出flag
运行如果出错了 如下报错可运行如下命令 ~/Desktop/ida9.3 这个是我自己的文件夹路径
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 wget
mkdir -p ~/ctf-libcrypto10
cd ~/ctf-libcrypto10
wget https://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_i386.deb
dpkg-deb -x libssl1.0.0_1.0.2g-1ubuntu4.20_i386.deb .
cd ~/Desktop/ida9.3
chmod +x flower_removed_bypass.elf
LD_LIBRARY_PATH="$HOME/ctf-libcrypto10/usr/lib/i386-linux-gnu:$HOME/ctf-libcrypto10/lib/i386-linux-gnu" \
./flower_removed_bypass.elf
flag
F8C60EB40BF66919A77C4BD88D45DEF4
评论