一、基本情况分析:
cg_pwn2这道题我做了很久,可以说如果能完全理解其漏洞触发及利用原理,就基本入门pwn了。接下来跟着我一起看一下这道经典的pwn题吧!
首先对可执行文件进行基本检查:
图1
如图1所示,该文件为32位i386的ELF可执行文件,只开启了NX,RELRO(部分readonly)。
NX:类似于windows的DEP,数据区被标为不可执行,所以我们只需要找到system或者execute执行/bin/sh来实现RCE。
RELRO(read only relocation):分为 partial relro 和 full relro。是一种用于加强对 binary 数据段的保护的技术,大概实现由linker指定binary的一块经过dynamic linker处理过 relocation之后的区域为只读,设置符号重定向表格为只读或在程序启动时就解析并绑定所有动态符号,从而减少对GOT(Global Offset Table)攻击。
IDA逆向分析:
找到main()函数,进入hello()函数。