利用Here Document,打包C(或其他程序语言)的原始代码

 这个是Cracker散步资安漏洞程序时,最喜欢的用法。举例如下:

 

      
      
      
      
  1. #!/bin/bash 
  2.  
  3. echo "正在产生hello.c" 
  4. echo 
  5. cat <<'EOF'> hello.c 
  6. #include <stdio.h> 
  7.  
  8. int main(){ 
  9.     printf("Hello world!\n"); 
  10.     return 0; 
  11. EOF 
  12.  
  13. echo "编译hello.c ...." 
  14. echo 
  15. #编译hello.c,产生执行文件 
  16.  
  17. gcc -o hello hello.c 
  18.  
  19. #若编译成功,就执行。 
  20. if [ $? -eq 0]; then 
  21.    echo "执行hello ....." 
  22.    echo  
  23.    ./hello 
  24. else 
  25.     echo 'Compile ERROR: hello.c' 
  26. fi 

这个script利用Here Document,夹带了一个hello.c程序的元代代码,执行本script时会产生hello.c,接着利用过gcc编译hello.c,若编译无误,就“执行”(即开始攻击的意思)程序文件hello.c。

 

 

 

你可能感兴趣的:(c,linux,shell)