LFI2RCE via PHP_SESSION_UPLOAD_PROGRESS

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Ikiwa umepata Uingizaji wa Faili wa eneo la ndani (LFI) hata ikiwa huna kikao na session.auto_start ni Off. Ikiwa session.upload_progress.enabled ni On na unatoa PHP_SESSION_UPLOAD_PROGRESS katika data ya POST ya sehemu nyingi, PHP ita kuwezesha kikao kwako.

$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange'
$ ls -a /var/lib/php/sessions/
. ..
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange' -d 'PHP_SESSION_UPLOAD_PROGRESS=blahblahblah'
$ ls -a /var/lib/php/sessions/
. ..
$ curl http://127.0.0.1/ -H 'Cookie: PHPSESSID=iamorange' -F 'PHP_SESSION_UPLOAD_PROGRESS=blahblahblah'  -F 'file=@/etc/passwd'
$ ls -a /var/lib/php/sessions/
. .. sess_iamorange

In the last example the session will contain the string blahblahblah

Tafadhali kumbuka kuwa na PHP_SESSION_UPLOAD_PROGRESS unaweza kudhibiti data ndani ya kikao, kwa hivyo ikiwa unajumuisha faili yako ya kikao unaweza kujumuisha sehemu unayodhibiti (kama vile shellcode ya php).

Ingawa mafunzo mengi kwenye mtandao yanapendekeza kuweka session.upload_progress.cleanup kuwa Off kwa madhumuni ya kurekebisha makosa. Mazingira ya chaguo-msingi ya session.upload_progress.cleanup katika PHP bado ni On. Hii inamaanisha kuwa maendeleo yako ya kupakia kwenye kikao yatafutwa haraka iwezekanavyo. Kwa hivyo hii itakuwa Hali ya Mashindano.

CTF

Katika CTF asili ambapo mbinu hii inazungumziwa, haikuwa ya kutosha kuchexploit Hali ya Mashindano lakini yaliyomo yaliyopakiwa pia yalihitaji kuanza na herufi @<?php.

Kutokana na mipangilio ya chaguo-msingi ya session.upload_progress.prefix, faili yetu ya KIKAO itaanza na kipengee cha kuanza cha kuchosha upload_progress_ Kama vile: upload_progress_controlledcontentbyattacker

Hila ya kuondoa kipengee cha kuanza ilikuwa kubadilisha msimbo wa malipo kuwa msimbo wa msingi wa 64 mara 3 na kisha kudekodea kupitia filters za convert.base64-decode, hii ni kwa sababu wakati wa kudekodea msimbo wa msingi wa 64 PHP itaondoa herufi zisizo za kawaida, kwa hivyo baada ya mara 3 tu malipo yaliyotumwa na mshambuliaji yatakuwa yamebaki (na kisha mshambuliaji anaweza kudhibiti sehemu ya kuanza).

Maelezo zaidi katika andiko asili https://blog.orange.tw/2018/10/ na shambulio la mwisho https://github.com/orangetw/My-CTF-Web-Challenges/blob/master/hitcon-ctf-2018/one-line-php-challenge/exp_for_php.py Andiko lingine katika https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated