鄭州網(wǎng)站提升排名公司網(wǎng)站設(shè)計圖
組件安全
1. 概述
A9:2017-使?含有已知漏洞的組件
A06:2021-Vulnerable and Outdated Components
? 組件(例如:庫、框架和其他軟件模塊)擁有和應(yīng)用程序相同的權(quán)限。如果應(yīng)用程序中含有已知漏洞的組件被攻擊者利用,可能會造成嚴(yán)重的數(shù)據(jù)丟失或服務(wù)器接管。同時,使用含有已知漏洞的組件的應(yīng)用程序和API 可能會破壞應(yīng)用程序防御、造成各種攻擊并產(chǎn)生嚴(yán)重影響。
1.1 常見組件
1.1.1 操作系統(tǒng)
操作系統(tǒng) |
---|
Windows Linux Mac OS X |
1.1.2 Web 容器
我們簡單的認(rèn)為,只要能夠提供Web 服務(wù)的應(yīng)用,就是Web 容器。
Web 容器 |
---|
Apache HTTPD Nginx IIS Tomcat uwsgi |
1.1.3 中間件
我們簡單的認(rèn)為,編程語言就是中間件。
中間件 |
---|
PHP Java ASP.NET(ASPX) Python Perl JavaScript Go |
1.1.4 數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫 | 非關(guān)系型數(shù)據(jù)庫 |
---|---|
MySQL Orcale SQL Server Access | Redis MongoDB |
1.1.5 開發(fā)框架
JAVA | PHP | Python | JS |
---|---|---|---|
struts2 spring springboot JBoss Weblogic | wordpress|wp drupal joomla thinkphp|tp dedecms|織夢 discuz|dz metinfo | Flask Django | vue.js |
1.1.6 OA 系統(tǒng)
OA 系統(tǒng) |
---|
通達OA 泛微e-office 致遠OA |
可以利用OA利用工具Releases · cseroad/Exp-Tools (github.com)
proxychains git clone https://github.com/LittleBear4/OA-EXPTOOL.git
將此工具下載,然后cd到工具目錄,安裝依賴
python3 -m pip install -r requirements.txt
安裝依賴后在工具目錄下開啟工具
python3 scan.py
輸入?
1.1.7 其他組件
-
phpStudy
-
寶塔
-
xampp
1.2 漏洞復(fù)現(xiàn)
1.2.1 漏洞復(fù)現(xiàn)模板
編寫滲透測試報告的主要內(nèi)容:
* 組件_版本_漏洞名稱* 漏洞描述* 漏洞評級* 影響版本* 漏洞復(fù)現(xiàn)* 漏洞掃描* 漏洞驗證* 深度利用* 命令執(zhí)行* GetShell* EXP 編寫* 漏洞挖掘* 指紋信息* 修復(fù)建議
1.2.2 漏洞名稱參考
pocsuite3 漏洞命名規(guī)范 類似msf的工具
seebug 漏洞類型規(guī)范
1.2.3 漏洞庫
exploit-db
seebug 漏洞庫
2. Apache
2.1 Apache HTTPD
漏洞名稱 | 原理 | 案例 |
---|---|---|
未知后綴名解析漏洞 | yjh.php.ajest | upload-labs/Pass-07 |
多后綴名解析漏洞 | yjh.php.png | Vulhub - httpd 多后綴名解析 |
換行解析漏洞 CVE-2017-15715 | yjh.php%0a | Vulhub - httpd - CVE-2017-15715 |
Vulhub - Apache 2.4.49 路徑穿越
Vulhub - Apache 2.4.50 路徑穿越
2.1.1 未知后綴名解析
2.1.1.1 環(huán)境搭建
打開部署了upload-labs-env的服務(wù)器,將upload-labs-env服務(wù)打開
2.1.1.2 過程
使用bp瀏覽器訪問部署了upload-labs-env的服務(wù)器的IP,
上傳1.php文件,使用bp進行抓包,發(fā)送重發(fā)器
修改文件類型
修改文件后綴名為png,上傳成功,修改為xj依舊還是上傳成功,由此可知,php源代碼中使用的是黑名單。
修改文件內(nèi)容為phpinfo()和后綴名改為php.xj,
訪問上傳的文件,phpinfo執(zhí)行了,因為在低版本的apache中檢測處理文件時,會從前到后找后綴名。找到后綴名后從后往前找,首先找到了xj,apache不認(rèn)識,又往前找找到了php,然后就會將文件內(nèi)容讀取出來交給php執(zhí)行
2.1.2 多后綴名解析實例
2.1.2.1 環(huán)境搭建
2.1.2.2 過程
訪問本機IP,上傳文件1.php使用bp抓包
結(jié)果顯示不支持上傳文件格式,修改類型然后點擊發(fā)送
結(jié)果還是不支持文件類型,修改后綴名,上傳成功,證明php源代碼使用的是白名單
文件上傳成功,是因為配置問題,產(chǎn)生不安全配置的問題是AddHandler application/x-http-php .php這個配置的意思為,只要文件名中有.php就會當(dāng)作php文件執(zhí)行。訪問上傳文件,使用蟻劍連接
2.1.3 換行解析漏洞
2.1.3.1 環(huán)境搭建
因為使用的是bp的瀏覽器,8080端口被占用,將環(huán)境的端口改為80
啟動環(huán)境
2.1.3.2 過程
上傳1.php文件,使用bp抓包,將數(shù)據(jù)包發(fā)送重發(fā)器
查看數(shù)據(jù)包,有文件名,文件類型,文件內(nèi)容,并且還給了一個evil.php的文件名,
修改文件類型,將evil.php修改為1.php.然后修改十六進制編碼形式,將1.php.的右側(cè)的點改為0a,然后點擊上傳,上傳成功
訪問上傳文件
漏洞原因:1.php\x0a被按照php后綴進行解析,導(dǎo)致繞過一些服務(wù)器的安全策略。
2.1.4 apache 路徑穿越漏洞
2.1.4.1 環(huán)境搭建
2.1.4.2 過程
使用bp自帶瀏覽器訪問ip,抓包
訪問
icons/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
讀到了passwd文件
執(zhí)行命令
cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/bash
漏洞原因:是apache2.4.49本身組件的問題,還可以執(zhí)行命令,相當(dāng)于shell;2.4.50依然還有這個漏洞,訪問
icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
就能讀出passwd
2.2 Apache Shiro
漏洞名稱 | 原理 | 案例 |
---|---|---|
CVE-2016-4437 | 反序列化 | vulhub/shiro/CVE-2016-4437/ 挖 礦木? ShiroExploit |
2.3 Apache Tomcat
漏洞名稱 | 原理 | 案例 |
---|---|---|
弱口令 | 配置錯誤 | vulhub/tomcat/tomcat8/ |
本地文件包含 CVE-2020-1938 | – | vulhub/tomcat/CVE-2020-1938/ 工具CNVD-2020-10487-Tomcat-Ajp-lfi |
Vulhub - Tomcat-PUT任意寫文件漏洞
2.3.1 弱口令
2.3.1.1 環(huán)境搭建
2.3.1.2 過程
點擊manager app進行登錄,tomcat、tomcat
docs是整個web應(yīng)用的說明書,可以通過web控制臺可以對整個tomcat下的web服務(wù)做服務(wù)管理
將大馬war上傳
訪問上傳的war
2.3.2 本地文件包含
2.3.2.1 環(huán)境搭建
2.3.2.2 過程
使用tomcat工具CNVD-2020-10487-Tomcat-Ajp-lfi.py掃描
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 容器IP -p 8009 -f WEB-INF/web.xml
工具缺點:只能讀取ROOT目錄下的文件
2.3.3 PUT方法任意寫文件漏洞
2.3.3.1 環(huán)境搭建
2.3.3.2 過程
使用nuclei掃描漏洞
sudo ./nuclei -u 192.168.16.176
訪問掃描工具對應(yīng)漏洞給出鏈接,讀出passwd
3. Nginx
3.1 Nginx 解析漏洞
特定情況下,可以將圖片解析成PHP,為圖片木馬提供出路。
漏洞名稱 | 原理 | 案例 |
---|---|---|
空字節(jié)漏洞 | yjh.png%00.php | nginx_0.7.65 解析漏洞復(fù)現(xiàn) |
文件路徑解析漏洞 CVE-2013-4547 | yjh.png[0x20][0x00].php | vulhub/nginx/CVE-2013-4547/ |
(背鍋) 解析漏洞 | cgi.fix_path=1 yjh.png/.php | nginx_parsing_vulnerability/ |
3.1.1 空字節(jié)漏洞
3.1.1.1 環(huán)境搭建
將壓縮包加壓至c盤下
在nginx_0.7.65目錄下打開命令行
3.1.1.2 過程
訪問Nginx
訪問info.png,使用bp抓包,發(fā)送重發(fā)器
該漏洞叫00截斷
php是以C語言寫的,C語言字符串結(jié)束是00。當(dāng)Nginx找文件時,看到后綴名是php就會交給php執(zhí)行。當(dāng)php解釋引擎從前往后掃描文件,當(dāng)掃描到00結(jié)束,讀到的文件是info.png文件,但是info.png文件以php方式執(zhí)行的
3.1.2 背鍋解析漏洞
3.1.2.1 環(huán)境搭建
3.1.2.2 過程
上傳1.php文件,使用bp抓包,發(fā)送重發(fā)器
修改文件類型、后綴名和文件內(nèi)容
訪問上傳文件
漏洞產(chǎn)生原因:php的安全選項有關(guān)(cgi-fcgi)
3.2 Nginx 配置缺陷
漏洞名稱 | 原理 | 案例 |
---|---|---|
Nginx 目錄遍歷漏洞 | location /files { alias /home/; } | vulhub/nginx/insecure-configuration/ |
4. IIS
4.1 IIS 6.0
漏洞名稱 | 原理 | 案例 |
---|---|---|
文件路徑截斷解析漏洞 | time.asp;.jpg | FCKeditor 2.6.6 ASP GetShell |
目錄名解析錯誤 | /1.asp/time.rar |
4.2 IIS 7.0/7.5
IIS 能夠解析PHP 腳本。IIS <----FASTCGI----> PHP
漏洞名稱 | 原理 | 案例 |
---|---|---|
IIS 7.0/7.5 解析漏洞 | cgi.fix_path=1 ajest.png/.php |
IIS 解析漏洞現(xiàn)存與IIS 7.0/7.5版本中,即Windows server 2008和Windows7中
4.2.1 環(huán)境搭建
以IIS10.0打開php
php解釋是由php引擎和php解釋器進行的
點擊IIS管理器
4.2.2 漏洞
請求限制在7.0/7.5中默認(rèn)是不勾選的
重現(xiàn)訪問png,在png后加上/.php