利用HERE Document攜帶C原始碼

kumu_linux發表於2012-06-08
#!/bin/bash

echo "正在產生hello.c ..."
echo 


cat <<'EOF'>hello.c
# include <stdio.h>

int main() {
	printf("hello world!\n");
	return 0;
}
EOF


echo "編譯hello.c ..."
echo 
# 編譯產生執行檔案
gcc -o hello hello.c

# 若編譯成功
if [ $? -eq 0 ];then
	echo "執行hello ..."
	echo
	./hello
else
	echo 'Compile ERROR:hello.c'
fi


這個script利用Here Document,夾帶了一個hello.c程式的原始碼,執行script時產生hello.c,接著呼叫gcc編譯hello.c,若編譯無誤,則執行產生hello,這是shell script攜帶攻擊程式的原型。

相關文章