做过一部分的栈溢出问题,总结了一下大致的文件分析思路如下:
- file {text},查看文件类型
- checksec {text}, 查看文件架构
- nc {link} {port} ,ls,查看文件机制,是否有flag
- IDA,寻找'/bin/sh',判断漏洞类型,
- 栈溢出,填充栈,用flag地址、system地址填充返回地址;
- 格式化字符串漏洞,通过‘AAAA %x %x %x %x %x %x %x’首地址偏移的方式得到偏移量,%10$定位到栈的第十个位置,system.plt->atoi.got
- 通过编写漏洞利用exp(py文件),得到shell权限,运行通过‘cat flag’得到flag
1.ciscn_2019_c_1
1.1文件分析。
拿到文件,用步骤1,步骤2进行分析。其他的信息暂时还不了解具体应用场景,后续需要再去学习。
No canary found——发现没有开启栈保护,说明存在栈溢出的漏洞问题。
NX enabled——开启数据执行防护,不能在栈堆执行shellcode。(还没理解)
1.2nc连接</