真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

GetShell的示例分析

這篇文章主要介紹了GetShell的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司服務項目包括佳木斯網(wǎng)站建設、佳木斯網(wǎng)站制作、佳木斯網(wǎng)頁制作以及佳木斯網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,佳木斯網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到佳木斯省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

0x00 什么是WebShell

滲透測試工作的一個階段性目標就是獲取目標服務器的操作控制權限,于是WebShell便應運而生。Webshell中的WEB就是web服務,shell就是管理攻擊者與操作系統(tǒng)之間的交互。Webshell被稱為攻擊者通過Web服務器端口對Web服務器有一定的操作權限,而webshell常以網(wǎng)頁腳本的形式出現(xiàn)。常見的WebShell使用asp、jsp和php來編寫,提供了如執(zhí)行系統(tǒng)命令、文件上傳下載、數(shù)據(jù)庫管理等功能。

獲取WebShell的動作又叫做GetShell,是滲透測試各項能力的綜合體現(xiàn),也是滲透測試一個重要的階段性目標。
GetShell方式眾多,常見如文件上傳、SQL注入、命令執(zhí)行、文件包含、解析漏洞等等。有時候一個漏洞即可GetShell,有時候則需要各種漏洞打一套組合拳方可。So,多交流,才能掌握更多GetShell騷姿勢。

1.文件上傳漏洞GetShell

通過利用任意文件上傳漏洞可以最快獲取WebShell,一般常見有三種情況:(1)直接上傳木馬文件到目標服務器;(2)繞過防護(以下不包括繞過WAF防護,以后有時間再介紹繞過WAF的姿勢)限制上傳木馬文件;(3)CMS等的通用任意文件上傳漏洞。在對目標進行滲透測試時,可從前后臺頭像修改、文件導入、圖片上傳等處尋找文件上傳接口。此外,還需要根據(jù)識別的站點指紋尋找是否存在文件上傳漏洞。以下是針對不同情況下上傳WebShell的方式。

(1) 站點沒有任何防護,且上傳點未做安全校驗,則可直接上傳WebShell文件。

(2) 站點存在簡單防護:

a) 前端校驗文件后綴時,可先傳允許的文件類型,然后抓包修改文件后綴。
b) MIME校驗時,抓包修改Conten-Type為允許MIME類型。

(3) 繞過黑名單的方式:

a) 利用特殊文件后綴。如.php3、.php5、.php7、.phtml;asa、cer、cdx、aspx;jspx、 jsw、jsv、jspf等,但不一定都能被解析。
b) 配合Windows/Linux特性使用特殊字符,如上傳.php::$DATA、“.php空格”等后綴的文件到Windows服務器,由于Windows的文件后綴中不能包含一些特殊符號,使得這些文件在保存在Windows服務器上時后綴只剩下.php。
c) Apache 1.x、2.2.x版本文件解析漏洞,.php.xx。
d) 后綴大小寫,如pHp。
e) 在數(shù)據(jù)包中使用雙filename,如filename=“1.jsp”; filename=“1.php”。

(4) 繞過白名單:

a) 00截斷,要求PHP<5.3.4且magic_quotes_gpc為OFF狀態(tài)。
b) 配合解析漏洞(見解析漏洞getshell)。
c) 文件包含圖片馬(見文件包含getshell)。

(5) 繞過文件內容檢測:

a) 使用文件頭繞過,如圖片中使用GIF89a。
b) 使用圖片馬,接著配合解析漏洞或者文件包含漏洞getshell。
c) 使用元數(shù)據(jù)編輯器在圖片的EXIF信息中插入一句話木馬。

(6) CMS、框架等的文件上傳漏洞。

如禪道<=12.4.2后臺任意文件上傳漏洞;編輯器漏洞、中間件的也不容忽視,如CVE-2017-12615可直接使用put寫入木馬文件。當然,“老洞”IIS 6 開啟WebDAV可直接put寫入文件。
以下兩張圖是禪道<=12.4.2后臺任意文件上傳漏洞的利用截圖:

GetShell的示例分析

GetShell的示例分析

2.命令(代碼)執(zhí)行漏洞GetShell

利用命令(代碼)執(zhí)行漏洞寫入WebShell文件從而GetShell。在此列舉了以下四種常見情況作為說明。
(1) 利用CMS、框架通用漏洞,如thinkPHP命令執(zhí)行漏洞,影響范圍較廣,如鯰魚CMS、ThinkCMF、yunCMS等。Struts2遠程命令(代碼)執(zhí)行漏洞,如S2-059、S2-057……
(2) 中間件、架構通用漏洞,如:Jboss遠程命令執(zhí)行、weblogic未授權命令執(zhí)行CVE-2020-14882……
(3) 應用程序命令執(zhí)行漏洞,如redis 4.x/5.x命令執(zhí)行漏洞、Zabbix遠程命令執(zhí)行CVE-2020-11800……
(4) 命令注入漏洞寫入WebShell,根據(jù)Linux和Windows的不同采用不同的注入方式。如:

GetShell的示例分析

3.解析漏洞GetShell

利用解析漏洞將圖片馬等文件解析為惡意腳本文件從而GetShell,本文主要介紹在IIS、Nginx、Apache的解析漏洞。一般,該漏洞會配合文件上傳漏洞等來獲取WebShell。

(1) IIS解析漏洞。

a) IIS 5.x/6.0解析漏洞,其中文件名解析漏洞利用形式為*.asp;.jpg;目錄解析漏洞利用形式為/asp/1.jpg。
b) IIS 7.0/7.5解析漏洞。其實該漏洞為cgi.fix_pathinfo的配置不當引起的解析漏洞,利用形式為x.jpg%20\0.php。

(2) Nginx解析漏洞

a) Nginx漏洞版本0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7默認配置導致解析漏洞,利用形式為x.jpg/.php。
b) Nginx漏洞版本0.5.、0.6.、0.7 <= 0.7.65、0.8 <= 0.8.37,利用形式為x.jpg%00.php。
c) CVE-2013-4547,利用形式為x.jpg[非空編碼]\0.php
d) PHPStudy v8.1.0.7默認Nginx配置解析漏洞,利用形式為x.jpg/.php。

(3) Apache解析漏洞

a) 文件后綴x.php.ss.ss2會被解析為php文件
b) 利用配置文件。上傳.htaccess配置文件,就會將.jpg解析為PHP文件,內容如下:

GetShell的示例分析

或者

GetShell的示例分析

4.SQL注入漏洞GetShell

在MySQL注入中,可以利用SQL注入獲取WebShell,要寫入WebShell文件到服務器中,需要滿足以下條件:

  1. 網(wǎng)站物理路徑;

  2. 文件寫入的權限;

  3. secure_file_priv條件沒有設置為NULL;
    要求mysql數(shù)據(jù)庫的配置中,沒有將secure_file_priv條件沒有設置為NULL,即secure_file_priv=NULL時,無法導入導出文件;而當設置為空時,即secure_file_priv=時,則導入導出文件不受限制;如果設置為某個文件路徑,如secure_file_priv=/mysql/時,則導入導出必須要在跟文件目錄下完成。利用形式如下。
    (1) 直接使用into outfile

GetShell的示例分析

(2) 直接使用into downfile

GetShell的示例分析

(3) 意為將數(shù)據(jù)導出到文件shell.php時,每個數(shù)據(jù)以一句話木馬作為分割符

GetShell的示例分析

而在寫入時,也可以將分隔符,即一句話木馬做hex編碼如:

GetShell的示例分析

(4) 設置每行數(shù)據(jù)開頭為一句話木馬

GetShell的示例分析

(5) 在字段之間的以一句話木馬作為分隔符。

GetShell的示例分析

舉例如下圖所示:

GetShell的示例分析

GetShell的示例分析

GetShell的示例分析

5.文件包含漏洞GetShell

利用文件包含漏洞GetShell,由于面比較大,主要介紹PHP文件包含,其分為本地文件包含和遠程文件包含。本地文件包含中,需要PHP的配置文件項allow_url_include和allow_url_fopen均設置為On。一般配合文件上傳等漏洞GetShell,最常見的如先傳圖片馬,再包含之。遠程文件包含中,需要PHP的配置文件項allow_url_fopen設置為On,利用方式是在遠程服務器上存在shell.txt,內容為webshell,然后遠程包含這個文件即可。筆者在文章https://sec-in.com/article/80中已經(jīng)對文件包含漏洞做了詳細的介紹,讀者可前往閱讀。

6.其他方式GetShell

將其命名為“其他方式”是因為不便將其再分類,筆者便都將其歸納至此。

(1) 0day、nday GetShell

0day自己挖,如一些cms黑白盒滲透、代碼審計等;Nday靠收集。

(2) 后臺創(chuàng)建模板寫入WebShell

創(chuàng)建、修改模板時寫入webshell文件。

(3) 修改網(wǎng)站配置插入WebShell

在網(wǎng)站設置如“網(wǎng)站名稱”中插入一句話,但需要注意閉合,稍有不慎會將網(wǎng)站插壞的。

(4) 后臺數(shù)據(jù)庫備份GetShell

數(shù)據(jù)庫備份時修改備份文件后綴,在數(shù)據(jù)中插入一句話。

(5) PHPMyadmin GetShell

a) 開啟日志文件,將日志文件的路徑設置為網(wǎng)站的物理路徑,如:

GetShell的示例分析

最后在執(zhí)行的SQL語句中帶有一句話木馬,這樣,日志文件內容中就包含了webshell。
b) 導出數(shù)據(jù)時,將webshell導出到文件中,詳見前文SQL注入GetShell。

(6) 組合漏洞GetShell

如DedeCMS CSRF + 任意文件寫入。

(7) 后臺修改文件上傳類型

添加上傳文件類型,如白名單中添加PHP。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“GetShell的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!


網(wǎng)站名稱:GetShell的示例分析
文章分享:http://weahome.cn/article/pjocee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部