MySQL File priv to SSRF/RCE

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

Ander maniere om HackTricks te ondersteun:

Hierdie is 'n opsomming van die MySQL/MariaDB/Percona-tegnieke vanaf https://ibreak.software/2020/06/using-sql-injection-to-perform-ssrf-xspa-attacks/.

Bedienerkant-aanvraagvervalsering (SSRF) via SQL-funksies

By die ondersoek van SQL Out of Band-data-eksfiltrering, word die LOAD_FILE()-funksie dikwels gebruik om netwerkaanvrae te begin. Hierdie funksie word egter beperk deur die bedryfstelsel waarop dit werk en die databasis se opstartkonfigurasies.

Die secure_file_priv-globale veranderlike, as dit nie ingestel is nie, verstek na /var/lib/mysql-files/, wat lêertoegang tot hierdie gids beperk tensy dit na 'n leë string ("") ingestel word. Hierdie aanpassing vereis wysigings in die databasis se konfigurasie-lêer of opstartparameters.

As secure_file_priv gedeaktiveer is (""), en mits die nodige lêer en file_priv-toestemmings verleen is, kan lêers buite die aangewese gids gelees word. Die vermoë van hierdie funksies om netwerkaanroepe te maak, is egter sterk afhanklik van die bedryfstelsel. Op Windows-stelsels is netwerkaanroepe na UNC-paaie moontlik as gevolg van die bedryfstelsel se begrip van UNC-naamkonvensies, wat moontlik kan lei tot die eksfiltrering van NTLMv2-hashes.

Hierdie SSRF-metode is beperk tot TCP-poort 445 en maak nie poortnommerwysiging moontlik nie, maar dit kan gebruik word om toegang tot aandele met volle leestoestemmings te verkry en, soos in vorige navorsing gedemonstreer, om hasings te steel vir verdere uitbuiting.

Verrekenaar-kode-uitvoering (RCE) via Gebruikersgedefinieerde Funksies (UDF)

MySQL-databasisse bied die gebruik van Gebruikersgedefinieerde Funksies (UDF) vanaf eksterne biblioteeklêers. As hierdie biblioteke toeganklik is binne spesifieke gidse of die stelsel se $PATH, kan hulle vanuit MySQL aangeroep word.

Hierdie tegniek maak die uitvoering van netwerk/HTTP-aanvrae moontlik deur 'n UDF, mits aan verskeie voorwaardes voldoen word, insluitend skryftoegang tot die @@plugin_dir, file_priv ingestel op Y, en secure_file_priv gedeaktiveer.

Byvoorbeeld, die lib_mysqludf_sys-biblioteek of ander UDF-biblioteke wat HTTP-aanvrae moontlik maak, kan gelaai word om SSRF uit te voer. Die biblioteke moet na die bediener oorgedra word, wat bereik kan word deur die inhoud van die biblioteek in heks- of base64-kodering oor te dra en dit dan na die toepaslike gids te skryf.

Die proses verskil as die @@plugin_dir nie skryfbaar is nie, veral vir MySQL-weergawes bo v5.0.67. In sulke gevalle moet alternatiewe pad

Last updated