利用堆溢出修改文件

Principal

1

关于set-uid程序参考之前的blog

Procedure

首先,vim看一下对应的heap.c文件

2

可以看到userinput是在低地址位置,然后outputfile是在高地址位置,注意,malloc分配并不是只分配了20个byte,需要保持对齐,参考PPT

然后目标是在进行写入的时候使得在高地址上面的时候能够指向/etc/passwd,创建临时文件/tmp/etc/passwd并需要创建符号链接

3

然后开始构造,运行命令

./heap haolong::0:0:12345:/tmp/etc/passwd

4

然后切换到对应用户并且whoami查看,获得root权限

5


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

安全攻防综合实验5 上一篇
安全攻防综合实验3 下一篇