利用堆溢出修改文件
Principal
关于set-uid程序参考之前的blog
Procedure
首先,vim看一下对应的heap.c
文件
可以看到userinput是在低地址位置,然后outputfile是在高地址位置,注意,malloc分配并不是只分配了20个byte,需要保持对齐,参考PPT
然后目标是在进行写入的时候使得在高地址上面的时候能够指向/etc/passwd,创建临时文件/tmp/etc/passwd并需要创建符号链接
然后开始构造,运行命令
./heap haolong::0:0:12345:/tmp/etc/passwd
然后切换到对应用户并且whoami查看,获得root权限
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!