pwn学习(2)test_your_nc

一.checksec检测文件的保护机制:

pwn学习(2)test_your_nc_第1张图片

从上图可以看出这是一个64位程序,开启了NX防护(堆栈不可执行)

代码中:

·Relro:Full Relro(重定位表只读)
Relocation Read Only, 重定位表只读。重定位表即.got 和 .plt 两个表。
·Stack:No Canary found(能栈溢出)
·NX: NX enable(不可执行内存)
Non-Executable Memory,不可执行内存。
·PIE: PIE enable(开启ASLR 地址随机化)
Address space layout randomization,地址空间布局随机化。通过将数据随机放置来防止攻击。
 

二. 静态分析,用IDA打开文件 

按下shift+f12,打开string window,发现/bin/sh

pwn学习(2)test_your_nc_第2张图片

双击/bin/sh, Ctrl+X,发现/bin/sh的address在main函数里 

pwn学习(2)test_your_nc_第3张图片

按下f5,发现main函数就是一个简单的system函数.直接调用了/bin/sh,所以根据题目提示直接nc就行.

pwn学习(2)test_your_nc_第4张图片

三. 回到Linux,直接nc做题 

nc的用法: nc -help
nc的全名是netcat,其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。因此,它可以用来网络调试、端口扫描等等

使用格式:nc ip地址 ip端口

连接靶机后,ls发现flag,cat得到flag 

pwn学习(2)test_your_nc_第5张图片 

结果:flag{1254c31d-7233-4897-a931-1da7ad2a073d}

你可能感兴趣的:(#,pwn,学习)