攻擊方法:
解析漏洞
目錄遍歷
CVE-2016-1247:須要獲取主機操做權限,攻擊者可經過軟連接任意文件來替換日誌文件,從而實現提權以獲取服務器的root權限。
參考:
https://www.seebug.org/vuldb/ssvid-92538php
高危html
nginx文件解析漏洞產生的緣由是網站中間件版本太低,可將任意文件看成php可執行文件來執行,可致使攻擊者執行惡意代碼來控制服務器。java
機密數據被竊取;nginx
核心業務數據被篡改;git
網頁被篡改;github
數據庫所在服務器被攻擊變爲傀儡主機,致使局域網(內網)被入侵。web
升級中間件版本數據庫
部署Web應用防火牆apache
對數據庫操做進行監控windows
修改php.ini文件,將cgi.fix_pathinfo的值設置爲0;
在Nginx配置文件中添加如下代碼:
if( $fastcgi_script_name ~ ..*/.*php ) {return 403;}
這行代碼的意思是當匹配到相似test.jpg/a.php的URL時,將返回403錯誤代碼。
啓用了不安全的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遠程命令執行漏洞是指代碼未對用戶可控參數作過濾,致使直接帶入執行命令的代碼中,可被用來執行任意命令。
可帶來以下危害:
攻擊者可利用此漏洞直接執行操做系統命令獲取WebShell,而且可經過該系統影響內網安全;
可被攻擊者用來執行任意命令,寫入後門等,進而徹底控制服務器,形成嚴重後果。
修復建議:
將struts版本升級至最新版;
部署Web應用防火牆。
Tomcat是Apache Jakarta軟件組織的一個子項目,Tomcat是一個JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎上發展起來的一個JSP和Servlet規範的標準實現,使用Tomcat能夠體驗JSP和Servlet的最新規範。
端口號:8080
攻擊方法:
默認口令、弱口令,爆破,tomcat5 默認有兩個角色:tomcat和role1。其中帳號both、tomcat、role1的默認密碼都是tomcat。弱口令通常存在5如下的版本中。
在管理後臺部署 war 後門文件
遠程代碼執行漏洞
參考:
https://paper.seebug.org/399/
http://www.freebuf.com/column/159200.html
http://liehu.tass.com.cn/archives/836
http://www.mottoin.com/87173.html
這是JSP/PHP網站遠程部署的一個工具,管理員只須要遠程上傳一個WAR格式的文件,即可以發佈到網站,方便了開發人員部署代碼的同時,也爲黑客上傳木馬敞開了大門。
經過訪問:Http://localhost:8080/manager管理地址,嘗試弱口令或默認口令,若能登錄成功,則存在此漏洞。
致使被上傳木馬文件,控制服務器
1.刪除此管理頁面
2.防火牆設置外網禁止訪問此頁面,或設置上傳文件類型
3.中間件設置此頁面訪問權限
4.修改默認帳號密碼
5.升級tomcat爲最新版本
是一個運行EJB的J2EE應用服務器。它是開放源代碼的項目,遵循最新的J2EE規範。從JBoss項目開始至今,它已經從一個EJB容器發展成爲一個基於的 J2EE 的一個Web 操做系統(operating system for web),它體現了 J2EE 規範中最新的技術。
端口:8080
攻擊方法:
弱口令,爆破
管理後臺部署 war 後門
反序列化
遠程代碼執行
參考:
http://www.vuln.cn/6300
http://mobile.www.cnblogs.com/Safe3/archive/2010/01/08/1642371.html
https://www.zybuluo.com/websec007/note/838374
https://blog.csdn.net/u011215939/article/details/79141624
JBoss這是一個基於JavaEE的應用服務器,與tomcat相似的是jboss也有遠程部署平臺,但不須要登錄。
嘗試訪問http://localhost:8080 由於通常管理後臺爲8080端口
上傳惡意木馬文件,控制服務器
1.開啓jmx-console密碼認證
2.刪除jmx-console.war與web-console.war
:
弱口令、爆破,弱密碼通常爲weblogic/Oracle@123 or weblogic
管理後臺部署 war 後門
SSRF
反序列化漏洞
weblogic_uac
參考:
https://github.com/vulhub/vulhub/tree/master/weblogic/ssrf
https://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cve-2014-4.html
https://fuping.site/2017/06/05/Weblogic-Vulnerability-Verification/
https://bbs.pediy.com/thread-224954.htm
weblogic是一個基於JavaEE構架的中間件,安裝完weblogic默認會監聽7001端口,能夠用來遠程部署網站代碼。
默認後臺地址:
http://localhost:7001/console/login/loginForm.jsp
可上傳惡意木馬文件,控制服務器
刪除遠程部署頁面
端口:80 攻擊方法: 解析漏洞 目錄遍歷
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自己也存在一些漏洞,好比slowhttp漏洞,固然官方認爲其是apache的特性而不算是一種漏洞,然而事實證實它的危害真的很大。除了slowhttp漏洞之外,其第三方moudle存在不少反序列化或者遠程命令執行的漏洞。
因爲apache漏洞引起的拒絕服務攻擊,其原理是以極低的速度往服務器發送HTTP請求。apache等中間件默認會設置最大併發連接數,而這種攻擊就是會持續保持鏈接,致使服務飽和不可用。slowloris有點相似基於HTTP協議的SYN flood攻擊。
slowhttptest工具
致使服務不可用,拒絕服務
1.升級apache爲最新版本
2.針對ip+cookie,限制訪問頻率(因爲cookie能夠更改,ip可使用代理,或者肉雞,也不可靠)
3.關閉apache最大鏈接數等,合理配置中間件,緩解ddos攻擊。
當IIS6.0 開啓了WebDav協議(開啓PROPFIND協議)時存在此漏洞,緩衝區溢出致使遠程命令執行。
基於版本,windowsserver2003 R2+iis6.0+開啓PROPFIND協議的服務器存在此漏洞。
服務器可被遠程命令執行
1.關閉WebDAV服務
2.使用相關防禦設備
爲了兼容16位MS-DOS程序,Windows爲文件名較長的文件(和文件夾)生成了對應的windows 8.3 短文件名,而生成的短文件名符合必定的規律,能夠被暴力猜解。
須要使用到通配符*,在windows中,*能夠匹配n個字符,n能夠爲0。判斷某站點是否存在IIS短文件名暴力破解漏洞,能夠分別訪問以下兩個URL:
http://localhost/\*~1\*\*\*\*/a.aspx
http://localhost/l1j1e\*~1\*\*\*\*/a.aspx
這裏我使用了4個星號,主要是爲了程序自動化猜解,逐個猜解後綴名中的3個字符,實際上,一個星號與4個星號沒有任何區別(上面已經提到,*號能夠匹配空)。
若是訪問第一個URL,返回404。而訪問第二個URL,返回400。 則目標站點存在漏洞。
猜解後臺地址
猜解敏感文件,例如備份的rar、zip、.bak、.SQL文件等。
在某些情形下,甚至能夠經過短文件名web直接下載對應的文件。好比下載備份SQL文件。
升級.net framework
修改註冊表鍵值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
修改NtfsDisable8dot3NameCreation爲1。再新建文件夾,將原網站目錄內容拷貝進入新建的文件夾,使用新建的文件夾做爲網站目錄。
因爲某些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在安裝後存在默認目錄/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兩個目錄。
IIS是微軟的一款web服務器,其配置不當容易產生webdav漏洞。webdav自己是iis的一項擴展功能,開啓後可使用除了get、post之外的一些請求類型,好比put等。但若是配置不當,就會致使文件上傳漏洞。除了webdav漏洞,近期還爆出了一個遠程命令執行漏洞,CVE-2017-7269。
當測試一個站點是否存在webdav漏洞時,能夠先構造一個OPTIONS請求,若返回200,則查看返回頭的Allow參數中包含哪些方法(能夠請求)。
若是存在PUT方法,則能夠嘗試寫入一個txt文件。
若返回200則說明上傳成功,此時能夠手動訪問此文件,確認是否存在。固然也有可能返回403,這表示此目錄沒有上傳的權限,能夠嘗試上傳到其餘目錄。
經過MOVE或COPY方法改文件後綴名