1、get_shell
打开题目,发现有一个题目场景,然后看题目描述说运行就能拿到shell,所以先运行一下,看看会发生什么,在虚拟机终端上输入nc+ip地址+ip端口(连接该网址),然后输入cat flag
发现运行一下flag就真的出来了。
2.CDfsb
这道题也给了一个题目场景,先尝试上面的方法将其运行一下,看看会发生什么
结果并不像上题这么直接,该题还给了一个附件,将其下载下来,先用checksec分析一下文件
发现该文件是有Canary保护和NX保护然后是32位的,再放入32位ida中反编译看看
发现当pwnme的值等于8时,才会输出flag,所以查找pwnme所在的位置在bss段(tips:bss段为未初始化的数据的全局变量),题目描述中也提到printf,这提示我们可以从这下手,将pwnme的值改成8,在ida中查看第二个printf的地址使用gdb在第二个printf的地址上下一个断点)
知道了偏移量是10,接着打payload(这里参考了wp里的代码):
运行一下即可得到flag;