MySQL File priv to SSRF/RCE

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Hii ni muhtasari wa mbinu za MySQL/MariaDB/Percona kutoka https://ibreak.software/2020/06/using-sql-injection-to-perform-ssrf-xspa-attacks/.

Server-Side Request Forgery (SSRF) kupitia SQL Functions

Katika uchunguzi wa uchomaji wa data wa SQL Out of Band, kazi ya LOAD_FILE() mara nyingi hutumiwa kuanzisha maombi ya mtandao. Walakini, kazi hii ina mipaka kutokana na mfumo wa uendeshaji inayofanya kazi na mipangilio ya kuanza kwa database.

Ikiwa secure_file_priv ni kipengele cha ulimwengu (unset), kinakuwa chaguo-msingi kwa /var/lib/mysql-files/, ikizuia upatikanaji wa faili kwenye saraka hii isipokuwa iwekwe kuwa herufi tupu (""). Mabadiliko haya yanahitaji marekebisho kwenye faili ya usanidi wa database au vigezo vya kuanza.

Ikiwa secure_file_priv imelemazwa (""), na ikidhaniwa kuwa faili inayohitajika na ruhusa za file_priv zimewekwa, faili nje ya saraka iliyotengwa inaweza kusomwa. Walakini, uwezo wa kazi hizi kufanya maombi ya mtandao unategemea sana mfumo wa uendeshaji. Kwenye mifumo ya Windows, maombi ya mtandao kwa njia za UNC ni rahisi kutokana na uelewa wa mfumo wa uendeshaji wa sheria za jina la UNC, ambayo inaweza kusababisha wizi wa hashi za NTLMv2.

Mbinu hii ya SSRF imezuiliwa kwa bandari ya TCP 445 na haiwezi kubadilishwa nambari ya bandari, ingawa inaweza kutumika kupata hisa zenye ruhusa kamili za kusoma na, kama ilivyodhihirishwa katika utafiti uliopita, kuiba hashi kwa udukuzi zaidi.

Remote Code Execution (RCE) kupitia User Defined Functions (UDF)

Hifadhidata za MySQL zinatoa matumizi ya User Defined Functions (UDF) kutoka kwenye faili za maktaba za nje. Ikiwa maktaba hizi zinapatikana ndani ya saraka maalum au $PATH ya mfumo, zinaweza kuitwa ndani ya MySQL.

Mbinu hii inaruhusu utekelezaji wa maombi ya mtandao/HTTP kupitia UDF, ikiwa masharti kadhaa yanakidhiwa, ikiwa ni pamoja na upatikanaji wa kuandika kwa @@plugin_dir, file_priv kuwekwa kuwa Y, na secure_file_priv imelemazwa.

Kwa mfano, maktaba ya lib_mysqludf_sys au maktaba zingine za UDF zinazoruhusu maombi ya HTTP zinaweza kupakia ili kutekeleza SSRF. Maktaba hizo lazima zipelekwe kwenye seva, ambayo inaweza kufanikiwa kupitia uandishi wa maudhui ya maktaba kwa kutumia nambari za hex au base64 na kisha kuandika kwenye saraka sahihi.

Mchakato unatofautiana ikiwa @@plugin_dir haiwezi kuandikwa, haswa kwa toleo la MySQL juu ya v5.0.67. Katika kesi kama hizo, njia mbadala ambazo zinaweza kuandikwa lazima zitumiwe.

Utaratibu wa kiotomatiki wa mchakato huu unaweza kufanikishwa na zana kama SQLMap, ambayo inasaidia uingizaji wa UDF, na kwa udukuzi wa SQL isiyo na maono, mbinu za upokeaji wa matokeo au upotovu wa maombi ya DNS zinaweza kutumika.

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated