[attach]58792[/attach]漏洞分析通过init脚本,我们可以发现——flag文件在root底下。但是如果我们直接登录的话默认是ctf用户,所以目标就是完成提权。#!/bin/sh/ $ ls -a rootls: can't open 'root': Permission denied/ $程序的漏洞点在于,babydev_struct 是一个全局且唯一的结构体,如果我们两次打开他,会造成第二次的指针覆盖上去,但是如果我们free掉第一次的,通过close(fd1),那么此时实际kfree的是第二次申请的空间,但是第二次的指针仍然指向他,且fd2没有被close,这就达到了UAF。