免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硬链接与符号链接Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。存储在磁盘上的文件实际上是位元的集合, 并拥有与之相关的信息节点(index)表。每个文件都可以通过指向相应信息节点的目录项找到,如:testUbuntu-8:$ ls -li *40566 -rw-r-r- 1 test test 0 2011-07-17 21:49 test140567 -rw-r-r- 1 test test 0 2011-07-17 21:49 test2第一个字段显示的是与文件相关的信息节点号,使用ln命令创建硬链接:testUbuntu-8:$ ln test1 ying1testUbuntu-8:$ ls -litotal 040566 -rw-r-r- 2 test test 0 2011-07-17 21:49 test140567 -rw-r-r- 1 test test 0 2011-07-17 21:49 test240566 -rw-r-r- 2 test test 0 2011-07-17 21:49 ying1文件ying1只是另一个指向信息节点40566相应物理文件的目录项。删除test1不会从磁盘上删除文件,因为该文件仍然被ying1所引用。【符号连接】另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。符号链接是一类间接指向文件的目录项,并不直接指向文件的信息节点。testUbuntu-8:$ ln -s test2 footestUbuntu-8:$ ls -ltotal 0lrwxrwxrwx 1 test test 5 2011-07-17 22:01 foo - test2testUbuntu-8:$ stat test2 File: test2 Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 802h/2050d Inode: 40567 Links: 1Access: (0644/-rw-r-r-) Uid: ( 1000/ test) Gid: ( 1000/ test)Access: 2011-07-17 21:49:51.000000000 -0500Modify: 2011-07-17 21:49:51.000000000 -0500Change: 2011-07-17 21:49:51.000000000 -0500【符号链接打开攻击】因为程序无法区分符号链接和目标文件,攻击者可以利用这一点欺骗程序去打开其他文件,如:testUbuntu-8:$ ls -ltotal 0lrwxrwxrwx 1 root root 5 2011-07-17 22:28 feo - test1lrwxrwxrwx 1 test test 5 2011-07-17 22:01 foo - test2-rw-r-r- 1 test test 0 2011-07-17 21:49 test2-rw-r-r- 1 test test 0 2011-07-17 21:49 ying1testUbuntu-8:$ if ! -e feo ; then echo create feo feo fitestUbuntu-8:$ ls -ltotal 4lrwxrwxrwx 1 root root 5 2011-07-17 22:28 feo - test1lrwxrwxrwx 1 test test 5 2011-07-17 22:01 foo - test2-rw-r-r- 1 test test 11 2011-07-17 22:29 test1-rw-r-r- 1 test test 0 2011-07-17 21:49 test2-rw-r-r- 1 test test 0 2011-07-17 21:49 ying1用户在写入之前先判断feo文件是否存在,feo是一个符号链接,尽管它所指向的文件并不存在。因此,判断为真,然后执行echo语句。这个例子,攻击者欺骗用户所执行的命令,使其在同一目录下创建了一个文件,而且当用户删掉符号链接时,实际的文件并没有删除。攻击者可以利用这种方法欺骗用户或root创建任意文件,如修改$HOME/rbosts以允许入侵的账号登陆系统,配置/etc/hosts.allow以使系统信任攻击者的机器,修改$HOME/forward以允许通过电子邮件执行远程程序等。攻击者也可以将符号链接指向现存的文件来实施拒绝服务攻击。如果root打开并写入指向/etc/passwd的符号链接,则将截断passwd文件,导致所有用户不能登录,甚至类似ls的程序都不能执行。【符号链接上的文件操作】符号链接不仅仅能被用于创建或截断文件,对符号链接所作的任何文件操作都会在目标文件上执行。这意味着可以欺骗类似于chown,chgrp,chmod的程序来更改其他文件的许可。考虑由属于web组的新用户维护的web开发区域,但是忘记将该目录设置为组可写。系统管理员试图用cron执行如下程序来解决这个问题。#!/bin/bashcd $pathto/webrootchgrp R web .chmod -R g+w .如果开发者创建了如下链接:Lrwxrwxrwx 1 hacker web 18 Jul 16:20:13 link_pw /etc/passwd则当脚本运行后,web组会拥有对/etc/passwd文件的写入权限,之后入侵者就能随心所欲的修改口令文件了。【防止符号链接攻击】任何必须创建临时文件的程序应当使用那些当文件存在时不会重复创建的函数,对于系统调用open,可使用O_EXCL参数来做到这一点。或者在shell脚本中使用mktemp工具:TEMPFILE=mktemp /tmp/filename.XXXXXX | exit 1commands $TEMPFILE注: mktemp函数简介 (C语言创建唯一临时文件函数) 头文件:在TC2.0中其头文件是dir.h,在Visual C+ 6.0中,更多的使用_mktemp,其头文件是io.h 定义函数 char * mktemp(char * template); 功能: mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。 返回值: 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。如果要对文件做任何修改,应当使用安全处理符号链接的命令。例如调用chown()会顺着符号链接找到实际的目标文件,而系统调用lchown()则仅对符号链接本身进行操作。默认情形下,chown命令会顺着符号链接定位实际文件;但是可以通过指定参数-h来强制它以lchown方式运行:rootUbuntu-8:/home/test# ls -ltotal 2lrwxrwxrwx 1 root root 5 2011-07-17 22:28 feo - test1-rw-r-r- 1 test test 11 2011-07-17 22:29 test1rootUbuntu-8:/home/test# chown -h lee feorootUbuntu-8:/home/test# ls -ltotal 2lrwxrwxrwx 1 lee root 5 2011-07-17 22:28 feo - test1-rw-r-r- 1 test test 11 2011-07-17 22:29 test1【硬链接攻击】硬链接与符号链接的不同之处在于符号链接可以指向一个不存在的文件,但硬链接不能这么做,因为它要指向一个实际文件的信息节点。因此,硬链接不能被用来创建文件。testUbuntu-8:$ ls -l /etc/passwd-rw-r-r- 1 root root 1189 2011-07-17 21:44 /etc/passwdtestUbuntu-8:$ ln /etc/passwd ./index.htmltestUbuntu-8:$ ls -li /etc/passwd ./index.html 33601 -rw-r-r- 2 root root 1189 2011-07-17 21:44 /etc/passwd33601 -rw-r-r- 2 root root 1189 2011-07-17 21:44 ./index.htmlrootUbuntu-8:# chown lee:users /home/test/index.htmltestUbuntu-8:$ ls -li /etc/passwd ./index.html 33601 -rw-r-r- 2 lee users 1189 2011-07-17 21:44 /etc/passwd33601 -rw-r-r- 2 lee users 1189 2011-07-17 21:44 ./index.html这样/etc/passwd文件的属主就被成功修改了【硬链接攻击策略】1. 遵循上面说到的所有符号链接的对策,2. 对符号链接无效,但适合硬链接的对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 19691-2026地理标志产品质量要求狗牯脑茶
- T/ZJSEE 0027-2024氢储能电站运行维护安全导则
- T/ISEAA 009-2024信息安全技术 网络安全等级保护区块链安全测评扩展要求
- T/CMEAS 081-2026医疗机构药品集中带量采购管理规范
- T/CASME 2090-2025陆上风力发电场土地利用效率评估规范
- T/CSHE 0004-2022水库温室气体净排放量评估技术导则
- GB/T 19866-2026焊接工艺规程及评定的一般原则
- AI在华文教育中的应用
- PHP企业面试笔试真题(含详细答案解析)
- 制鞋车间胶粘剂防毒通风方案
- 2026年旋挖钻机操作手安全教育试卷及答案
- 2026年体育用品设备出租行业市场深度调研报告及未来五至十年技术路径与产业化前景
- 第三单元《多边形的面积》单元测试卷(含答案)2026-2027学年苏教版五年级数学上册
- 医学生基础医学重症肌无力查房课件
- 小小科学家《生物》模拟试卷(附答案)
- 2026-2031年中国降钙素行业市场调查研究及发展前景预测报告
- 计量管理基础知识课件
- 人教版九年级上册数学《习题29.2》教学课件(新教材)
- 消能减震阻尼器安装施工方案及技术措施
- 3.4 G71指令讲解及应用
- 集中供电智能应急照明疏散指示系统施工方案
评论
0/150
提交评论