Command-Line

如何使用單個命令導致核心恐慌?

  • November 5, 2020

是否有可能使用單個命令行導致核心恐慌?

對於 sudoing 使用者來說,最直接的此類命令是什麼?對於普通使用者來說,如果有的話,它又是什麼?

建議將某些內容作為命令的一部分下載的場景不計算在內。

自由BSD:

sysctl debug.kdb.panic=1

Linux(核心文件中的更多資訊):

echo c > /proc/sysrq-trigger
mkdir /tmp/kpanic && cd /tmp/kpanic && printf '#include <linux/kernel.h>\n#include <linux/module.h>\nMODULE_LICENSE("GPL");static int8_t* message = "buffer overrun at 0x4ba4c73e73acce54";int init_module(void){panic(message);return 0;}' > kpanic.c && printf 'obj-m += kpanic.o\nall:\n\tmake -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules' > Makefile && make && insmod kpanic.ko

編譯一個通過呼叫panic函式使核心崩潰的模組,需要root,需要make並將gcc

命令中的“緩衝區溢出在0x4ba4c73e73acce54”替換為有趣的東西以獲得更多戲劇性。

引用自:https://unix.stackexchange.com/questions/66197