技术解析

如何将一个普通文件转换成软链接?
0
2021-07-01 14:46:59
idczone

按理说,软链接也是一个文件,那么如何将一个普通文件转化成软链接呢? IMPORTANT !!!: 在 C 语言中,并且不能借助 rm ln 等命令。 c 中创建软链接的函数是: symlink() 在unistd.h头文件里,查看发现是这样的:

#define __NR_symlink 1036
__SYSCALL(__NR_symlink, sys_symlink)

如何查看这个 syscall 的源码呢? 比如,现在有a.doc这个文件,现在想建立 a-->a.doc ,但是当前已经存在了一个 a 文件,而且可以修改不能删除。上面的函数,如果检测到当前这个文件是已经存在的,将不会对这个文件进行修改。


http://lxr.free-electrons.com/source/fs/namei.c?v=2.6.35/>找到源码了。。

其实手够快就没事啊

创建链接是个系统调用,会跳进内核代码里,然后转发给文件系统驱动处理。

r我其实是想利用 dirtycow 这个漏洞,所以对原文件是没有权限删除的。
恩,有点吃力,准备换个思路想想。

利用 DirtyCOW 漏洞只能修改可被 mmap 映射的文件内容。
软链接涉及文件属性,不能利用 DirtyCOW 创建或修改。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服