1. 程式人生 > >中介軟體漏洞及修復彙總

中介軟體漏洞及修復彙總

Nginx檔案解析漏洞

漏洞等級

高危

漏洞描述

nginx檔案解析漏洞產生的原因是網站中介軟體版本過低,可將任意檔案當作php可執行檔案來執行,可導致攻擊者執行惡意程式碼來控制伺服器。

漏洞危害

  • 機密資料被竊取;

  • 核心業務資料被篡改;

  • 網頁被篡改;

  • 資料庫所在伺服器被攻擊變為傀儡主機,導致區域網(內網)被入侵。

修復方案

  • 升級中介軟體版本

  • 部署Web應用防火牆

  • 對資料庫操作進行監控

  • 修改php.ini檔案,將cgi.fix_pathinfo的值設定為0;

  • 在Nginx配置檔案中新增以下程式碼:

 if( $fastcgi_script_name
 ~ ..*/.*php 
 ) {return 403;}

這行程式碼的意思是當匹配到類似test.jpg/a.php的URL時,將返回403錯誤程式碼。

OPTIONS漏洞

漏洞描述

啟用了不安全的http方法,Web伺服器或應用程式伺服器中介軟體是以不安全的方式配置 ,這些方法可能標識在伺服器上啟用了WebDAV,可能允許未授權的使用者進行利用。此漏洞存在於IIS容器下,它擴充套件了HTTP協議,在GET/POST/HEAD等幾個HTTP標準方法以外添加了一些新的方法,比如PUT/MOVE/COPY/DELETE方法,那麼攻擊者就可以通過PUT方法向伺服器上傳危險指令碼。

漏洞測試

請求一個OPTIONS包,檢視伺服器所支援的HTTP方法。

OPTIONS / HTTP/1.1

Host:thief.one

漏洞危害

可能會在WEB伺服器上上傳、修改或刪除WEB頁面、指令碼和檔案,從而達到網頁篡改,控制伺服器的目的。

漏洞修復方案

如果伺服器不需要支援WebDAV,請務必禁用此功能,或者禁止其不安全的HTTP請求方法。

Struts2遠端命令執行

Struts2遠端命令執行漏洞是指程式碼未對使用者可控引數做過濾,導致直接帶入執行命令的程式碼中,可被用來執行任意命令。

可帶來如下危害:

  1. 攻擊者可利用此漏洞直接執行作業系統命令獲取WebShell,並且可通過該系統影響內網安全;

  2. 可被攻擊者用來執行任意命令,寫入後門等,進而完全控制伺服器,造成嚴重後果。

修復建議:

  1. 將struts版本升級至最新版;

  2. 部署Web應用防火牆。

Tomcat遠端部署漏洞

漏洞描述

這是JSP/PHP網站遠端部署的一個工具,管理員只需要遠端上傳一個WAR格式的檔案,便可以釋出到網站,方便了開發人員部署程式碼的同時,也為黑客上傳木馬敞開了大門。

漏洞驗證

通過訪問:Http://localhost:8080/manager管理地址,嘗試弱口令或預設口令,若能登陸成功,則存在此漏洞。

漏洞危害

導致被上傳木馬檔案,控制伺服器

漏洞修復

1.刪除此管理頁面

2.防火牆設定外網禁止訪問此頁面,或設定上傳檔案型別

3.中介軟體設定此頁面訪問許可權

4.修改預設賬號密碼

5.升級tomcat為最新版本

JBoss遠端部署漏洞

漏洞描述

JBoss這是一個基於JavaEE的應用伺服器,與tomcat類似的是jboss也有遠端部署平臺,但不需要登陸。

漏洞驗證

嘗試訪問http://localhost:8080 因為一般管理後臺為8080埠

漏洞危害

上傳惡意木馬檔案,控制伺服器

漏洞修復

1.開啟jmx-console密碼認證

2.刪除jmx-console.war與web-console.war

WebLogic遠端部署漏洞

漏洞描述

weblogic是一個基於JavaEE構架的中介軟體,安裝完weblogic預設會監聽7001埠,可以用來遠端部署網站程式碼。

漏洞驗證

預設後臺地址:

http://localhost:7001/console/login/loginForm.jsp

漏洞危害

可上傳惡意木馬檔案,控制伺服器

漏洞修復

刪除遠端部署頁面

Apache解析漏洞

漏洞描述

Apache 解析檔案的規則是從右到左開始判斷解析,如果字尾名為不可識別檔案解析,就再往左判斷。比如 test.php.owf.rar “.owf”和”.rar” 這兩種字尾是apache不可識別解析,apache就會把wooyun.php.owf.rar解析成php

漏洞檢測

本地訪問http://localhost/test.php.nmask,是否能被解析成php,若能則存在此漏洞。

漏洞危害

配置檔案上傳漏洞,可繞過waf/黑名單等限制,上傳木馬檔案,控制伺服器。

漏洞修復

1.apache配置檔案,禁止.php.這樣的檔案執行,配置檔案裡面加入

<Files ~ “.(php.|php3.)”>
        Order Allow,Deny
        Deny from all
</Files>

2.用偽靜態能解決這個問題,重寫類似.php.*這類檔案,開啟apache的httpd.conf找到LoadModule rewrite_module modules/mod_rewrite.so把#號去掉,重啟apache,在網站根目錄下建立.htaccess檔案,程式碼如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
</IfModule>

Apache slowloris漏洞

漏洞描述

由於apache漏洞引發的拒絕服務攻擊,其原理是以極低的速度往伺服器傳送HTTP請求。apache等中介軟體預設會設定最大併發連結數,而這種攻擊就是會持續保持連線,導致服務飽和不可用。slowloris有點類似基於HTTP協議的SYN flood攻擊。

漏洞檢測

slowhttptest工具

漏洞危害

導致服務不可用,拒絕服務

漏洞修復

1.升級apache為最新版本

2.針對ip+cookie,限制訪問頻率(由於cookie可以更改,ip可以使用代理,或者肉雞,也不可靠)

3.關閉apache最大連線數等,合理配置中介軟體,緩解ddos攻擊。

IIS6.0遠端命令執行漏洞(cve-2017-7269)

漏洞描述

當IIS6.0 開啟了WebDav協議(開啟PROPFIND協議)時存在此漏洞,緩衝區溢位導致遠端命令執行。

漏洞檢測

基於版本,windowsserver2003 R2+iis6.0+開啟PROPFIND協議的伺服器存在此漏洞。

漏洞危害

伺服器可被遠端命令執行

漏洞修復

1.關閉WebDAV服務

2.使用相關防護裝置

IIS短檔名暴力猜解

漏洞描述

為了相容16位MS-DOS程式,Windows為檔名較長的檔案(和資料夾)生成了對應的windows 8.3 短檔名,而生成的短檔名符合一定的規律,可以被暴力猜解。

漏洞檢測

需要使用到萬用字元*,在windows中,*可以匹配n個字元,n可以為0。判斷某站點是否存在IIS短檔名暴力破解漏洞,可以分別訪問如下兩個URL:

  1. http://localhost/\*~1\*\*\*\*/a.aspx

  2. http://localhost/l1j1e\*~1\*\*\*\*/a.aspx

這裡我使用了4個星號,主要是為了程式自動化猜解,逐個猜解字尾名中的3個字元,實際上,一個星號與4個星號沒有任何區別(上面已經提到,*號可以匹配空)。

如果訪問第一個URL,返回404。而訪問第二個URL,返回400。 則目標站點存在漏洞。

漏洞危害

  1. 猜解後臺地址

  2. 猜解敏感檔案,例如備份的rar、zip、.bak、.SQL檔案等。

  3. 在某些情形下,甚至可以通過短檔名web直接下載對應的檔案。比如下載備份SQL檔案。

漏洞修復

  1. 升級.net framework

  2. 修改登錄檔鍵值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

修改NtfsDisable8dot3NameCreation為1。再新建資料夾,將原網站目錄內容拷貝進入新建的資料夾,使用新建的資料夾作為網站目錄。

java反序列化漏洞

漏洞描述

由於某些java容器(中介軟體)中的jar包存在反序列化漏洞,導致可被遠端命令執行。影響容器有:jenkins,jboss,weblogic,websphere等。

漏洞檢測

下載反序列化測試工具

漏洞危害

導致伺服器被遠端命令執行

漏洞修復

1.JBOSS

JBoss服務專有使用者許可權,沒有登入許可權,達到許可權最小化,啟用防火牆,防護防火牆策略設定,限定可以連線到JBoss的IP,安全驗證配置,若是公開服務,需要在jmx-invoker-service.xml中開啟許可權驗證,更新原始碼,在JBoss原始碼中打入最新的官方patch。

2.Weblogic

首先停止weblogic,在中介軟體modules目錄下找到名為

com.bea.core.apache.commons.collections_x.x.x.jar檔案

然後下載最新的commons-collections(bin包),用壓縮包中的commons-collections-x.x.x.jar替換有漏洞的jar包

jar包下載地址:

http://commons.apache.org/proper/commons-collections/download_collections.cgi

注意:保持原jar包的名字,即名字不變換掉jar包

最後啟動weblogic。

Apache 預設頁面洩漏漏洞

漏洞描述:

Apache在安裝後存在預設目錄/icons/、/manual/

漏洞檢測

在瀏覽器裡輸入

http://IP/icons/,http://IP/manual/

如果能訪問,則說明存在預設頁面洩漏漏洞,如下圖所示:

修復方案:

1.對於Apache2,註釋掉Apache配置檔案中的目錄配置中的以下兩行:

Alias /icons/ "/usr/share/apache2/icons/"
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/usr/share/apache2/manual$1"

2.或者刪除配置檔案中的icons、manual兩個目錄。