Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Belangrike nota:

dl is ân PHP-funksie wat gebruik kan word om PHP-uitbreidings te laai. As die funksie nie gedeaktiveer is nie, kan dit misbruik word om disable_functions te omseil en arbitrĂȘre opdragte uit te voer.
Dit het egter ân paar streng beperkings:
- Die
dlfunksie moet teenwoordig wees in die omgewing en nie gedeaktiveer wees nie - Die PHP-uitbreiding moet saamgecompileer wees met dieselfde hoofweergawe (PHP API-weergawe) wat die bediener gebruik (jy kan hierdie inligting in die uitvoer van phpinfo sien)
- Die PHP-uitbreiding moet geleë wees in die gids wat gedefinieer is deur die
extension_dirriglyn (jy kan dit in die uitvoer van phpinfo sien). Dit is baie onwaarskynlik dat ân aanvaller wat probeer om die bediener te misbruik, skryfreĂ«ls oor hierdie gids sal hĂȘ, so hierdie vereiste sal waarskynlik voorkom dat jy hierdie tegniek misbruik).
As jy aan hierdie vereistes voldoen, gaan voort om die pos te lees https://antichat.com/threads/70763/ om te leer hoe om disable_functions te omseil. Hier is ân opsomming:
Die dl funksie word gebruik om PHP-uitbreidings dinamies te laai tydens skripuitvoering. PHP-uitbreidings, wat tipies in C/C++ geskryf is, verbeter PHP se funksionaliteit. Die aanvaller, toe hy opgemerk het dat die dl funksie nie gedeaktiveer is nie, besluit om ân pasgemaakte PHP-uitbreiding te skep om stelselsopdragte uit te voer.
Stappe Geneem deur die Aanvaller:
- PHP Weergawe Identifikasie:
- Die aanvaller bepaal die PHP-weergawe met ân skrip (
<?php echo 'PHP Version is '.PHP_VERSION; ?>).
- PHP Bronne Verkryging:
- Laai die PHP-bron van die amptelike PHP-webwerf of die argief af as die weergawe ouer is.
- Plaaslike PHP Opstelling:
- Onttrek en installeer die spesifieke PHP-weergawe op hul stelsel.
- Uitbreiding Skepping:
- Bestudeer die skepping van PHP-uitbreidings en ondersoek die PHP-bronkode.
- Fokus op die duplisering van die funksionaliteit van die exec funksie geleë in
ext/standard/exec.c.
Aantekeninge vir die Compilering van die Pasgemaakte Uitbreiding:
- ZEND_MODULE_API_NO:
- Die
ZEND_MODULE_API_NOinbypass.cmoet ooreenstem met die huidige Zend Extension Build, wat verkry kan word met:
php -i | grep "Zend Extension Build" |awk -F"API4" '{print $2}' | awk -F"," '{print $1}'
- PHP_FUNCTION Wysiging:
- Vir onlangse PHP-weergawe (5, 7, 8), mag
PHP_FUNCTION(bypass_exec)aanpassing benodig. Die verskafde kode-snippet detail hierdie wysiging.
Pasgemaakte Uitbreiding LĂȘers:
- bypass.c:
- Implementeer die kernfunksionaliteit van die pasgemaakte uitbreiding.
- php_bypass.h:
- KoplĂȘer, wat uitbreidingseienskappe definieer.
- config.m4:
- Gebruik deur
phpizeom die bou-omgewing vir die pasgemaakte uitbreiding te konfigureer.
Bou van die Uitbreiding:
- Compilering Opdragte:
- Gebruik
phpize,./configure, enmakeom die uitbreiding te compileer. - Die resultaat
bypass.sois dan geleë in die modules subgids.
- Skoonmaak:
- Voer
make cleanenphpize --cleanuit na compilering.
Oplaai en Uitvoering op die Slachtoffer Gasheer:
- Weergawe Kompatibiliteit:
- Verseker dat PHP API-weergawe ooreenstem tussen die aanvaller se en die slagoffer se stelsels.
- Uitbreiding Laai:
- Gebruik die
dlfunksie, wat beperkings omseil deur relatiewe paaie of ân skrip te gebruik om die proses te outomatiseer.
- Skrip Uitvoering:
- Die aanvaller laai
bypass.soen ân PHP-skrip na die slagoffer se bediener op. - Die skrip gebruik
dl_localfunksie om dinamiesbypass.sote laai en roep danbypass_execaan met ân opdrag wat deur diecmdnavraagparameter oorgedra word.
Opdrag Uitvoering:
- Die aanvaller kan nou opdragte uitvoer deur toegang te verkry tot:
http://www.example.com/script.php?cmd=<command>
Hierdie gedetailleerde stap-vir-stap gids skets die proses om ân PHP-uitbreiding te skep en te ontplooi om stelselsopdragte uit te voer, wat die dl funksie misbruik, wat idealiter gedeaktiveer moet wees om sulke sekuriteitsbreuke te voorkom.
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

