Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Kumbuka muhimu:

dl ni kazi ya PHP ambayo inaweza kutumika kupakia nyongeza za PHP. Ikiwa kazi hii haijazuiliwa inaweza kutumika vibaya ili kuzidi disable_functions na kutekeleza amri zisizo na mpangilio.
Hata hivyo, ina mipaka mikali:
- Kazi ya
dllazima iwe ipo katika mazingira na isiwe imezuiliwa - Nyongeza ya PHP lazima iwe imejengwa na toleo kuu sawa (PHP API version) ambalo seva inatumia (unaweza kuona habari hii katika matokeo ya phpinfo)
- Nyongeza ya PHP lazima iwe imewekwa katika directory ambayo imefafanuliwa na
extension_dirdirective (unaweza kuiona katika matokeo ya phpinfo). Ni vigumu sana kwamba mshambuliaji anayejaribu kutumia seva atakuwa na ufikiaji wa kuandika katika directory hii, hivyo hitaji hili labda litakuzuia kutumia mbinu hii).
Ikiwa unakidhi mahitaji haya, endelea kusoma chapisho https://antichat.com/threads/70763/ kujifunza jinsi ya kuzidi disable_functions. Hapa kuna muhtasari:
Kazi ya dl inatumika kupakia nyongeza za PHP kwa njia ya kidinari wakati wa utekelezaji wa script. Nyongeza za PHP, ambazo kwa kawaida zimeandikwa kwa C/C++, zinaongeza uwezo wa PHP. Mshambuliaji, baada ya kugundua kuwa kazi ya dl haijazuiliwa, anaamua kuunda nyongeza maalum ya PHP ili kutekeleza amri za mfumo.
Hatua zilizochukuliwa na Mshambuliaji:
- Utambuzi wa Toleo la PHP:
- Mshambuliaji anabaini toleo la PHP kwa kutumia script (
<?php echo 'PHP Version is '.PHP_VERSION; ?>).
- Upataji wa Chanzo cha PHP:
- Anapakua chanzo cha PHP kutoka kwenye tovuti rasmi ya PHP au kwenye archive ikiwa toleo ni la zamani.
- Usanidi wa PHP wa Mitaa:
- Anatoa na kufunga toleo maalum la PHP kwenye mfumo wake.
- Uundaji wa Nyongeza:
- Anasoma kuunda nyongeza za PHP na kuchunguza msimbo wa chanzo cha PHP.
- Anazingatia kuiga kazi ya exec function iliyoko
ext/standard/exec.c.
Maelezo ya Kujenga Nyongeza Maalum:
- ZEND_MODULE_API_NO:
ZEND_MODULE_API_NOkatikabypass.clazima ikae sawa na Ujenzi wa Nyongeza ya Zend wa sasa, inayoweza kupatikana kwa:
php -i | grep "Zend Extension Build" |awk -F"API4" '{print $2}' | awk -F"," '{print $1}'
- Mabadiliko ya PHP_FUNCTION:
- Kwa matoleo ya hivi karibuni ya PHP (5, 7, 8),
PHP_FUNCTION(bypass_exec)inaweza kuhitaji marekebisho. Kipande cha msimbo kilichotolewa kinaelezea mabadiliko haya.
Faili za Nyongeza Maalum:
- bypass.c:
- Inatekeleza kazi kuu ya nyongeza maalum.
- php_bypass.h:
- Faili ya kichwa, ikifafanua mali za nyongeza.
- config.m4:
- Inatumika na
phpizekusanidi mazingira ya ujenzi kwa nyongeza maalum.
Kujenga Nyongeza:
- Amri za Ujenzi:
- Inatumia
phpize,./configure, namakekujenga nyongeza. - Nyongeza inayotokana na
bypass.sokisha inapatikana katika subdirectory ya moduli.
- Usafishaji:
- Inafanya
make cleannaphpize --cleanbaada ya ujenzi.
Kupakia na Kutekeleza kwenye Seva ya Mwathirika:
- Ulinganifu wa Toleo:
- Inahakikisha toleo za PHP API zinakubaliana kati ya mifumo ya mshambuliaji na mwathirika.
- Upakiaji wa Nyongeza:
- Inatumia kazi ya
dl, ikiepuka vizuizi kwa kutumia njia za uhusiano au script ili kuendesha mchakato.
- Utekelezaji wa Script:
- Mshambuliaji anapakia
bypass.sona script ya PHP kwenye seva ya mwathirika. - Script inatumia kazi ya
dl_localkupakia kwa kidinaribypass.sona kisha inaitabypass_execna amri iliyopitishwa kupitia parameter ya swalicmd.
Utekelezaji wa Amri:
- Mshambuliaji sasa anaweza kutekeleza amri kwa kufikia:
http://www.example.com/script.php?cmd=<command>
Mwongozo huu wa kina unaelezea mchakato wa kuunda na kupeleka nyongeza ya PHP ili kutekeleza amri za mfumo, ikitumia kazi ya dl, ambayo inapaswa kuwa imezuiliwa ili kuzuia uvunjaji wa usalama kama huu.
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks

