# Agħraf kodiċi PHP moħbi

> eval, base64_decode u oħrajn: kif tagħraf kodiċi PHP moħbi, kif tfittex mingħajr periklu u kif tifred encoders leġittimi minn kodiċi malizzjuż.

Sors: https://phpsos.de/mt/blog/verschleierter-php-code/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** Kodiċi PHP moħbi huwa kodiċi li sar intenzjonalment illeġibbli, ġeneralment permezz ta' kodifikazzjoni u kompressjoni li jinħallu biss waqt it-tħaddim. Mudelli tipiċi ta' tagħrif huma `eval` flimkien ma' `base64_decode`, `gzinflate` jew `str_rot13`, linji twal ħafna, sekwenzi hex u ismijiet ta' funzjonijiet li jinġabru minn partijiet individwali. Fittex b'kmandi grep bla ħsara, qatt tesegwixxi l-kodiċi u qabbel is-sejbiet mal-pakkett oriġinali.

## Għaliex l-attakkanti jaħbu l-kodiċi tagħhom

Min iħalli webshell jew backdoor fuq server jrid li tibqa' mhux skoperta għal żmien twil. Kodiċi li jinqara jaqbad l-għajn ta' kull amministratur li jiftaħ il-fajl, u kull scanner isibu. Għalhekk l-attakkanti jippakkjaw il-kodiċi tagħhom: jiġi kodifikat, kompress u biss meta jiġi sejjaħ jerġa' jinġabar u jiġi eżegwit.

Għal PHP2Shell m'hemm l-ebda Indicators of Compromise ikkonfermati. Kodiċi moħbi mhuwiex karatteristika ta' din il-vulnerabbiltà, imma sinjal ġenerali li xi ħadd introduċa kodiċi, irrispettivament minn liema triq. Kif issib u tneħħi webshells b'mod ġenerali jiddeskrivih [Agħraf u neħħi webshell](https://phpsos.de/mt/ratgeber/webshell-erkennen/). Dan l-artikolu jikkonċentra fuq il-mistoqsija kif tagħraf kodiċi moħbi.

## eval, base64 u oħrajn: il-blokki tipiċi

Il-moħbi jsegwi kważi dejjem l-istess prinċipju: blokk ta' data illeġibbli jinbidel lura minn funzjoni waħda jew iktar f'kodiċi li mbagħad jiġi eżegwit. Il-blokki li ġejjin jerġgħu jidhru ripetutament.

| Blokk | Eżempji | Għaliex jaqbad l-għajn |
|---|---|---|
| Eżekuzzjoni | `eval`, `assert` b'sekwenza ta' karattri (sa PHP 7.x), `create_function` (sa PHP 7.x) | jesegwixxi test bħala kodiċi |
| Dekodifikazzjoni | `base64_decode`, `str_rot13`, `hex2bin`, `strrev`, `convert_uudecode` | jerġa' jagħmel id-data leġibbli |
| Dekompressjoni | `gzinflate`, `gzuncompress`, `gzdecode` | jiftaħ kodiċi mdaħħal |
| Assemblaġġ | ktajjen `chr()`, konkatenazzjoni ta' biċċiet qosra, escapes `\x` | jaħbi ismijiet ta' funzjonijiet |
| Sejħa dinamika | varjabbli bħala isem tal-funzjoni, `call_user_func`, `array_map` b'sekwenza ta' karattri | is-sejħa ma tidher imkien fi test ċar |
| Aċċess għas-sistema | `system`, `exec`, `shell_exec`, `passthru`, `proc_open`, `popen` | kmandi fuq is-server |

Skont il-manwal ta' PHP, `assert()` minn PHP 8.0 'il quddiem ma jivvalutax aktar sekwenzi ta' karattri bħala kodiċi, u `create_function()` tneħħa f'PHP 8.0. Fuq servers b'verżjonijiet eqdem ta' PHP it-tnejn jibqgħu termini rilevanti għat-tiftix.

Blokk wieħed rari huwa suspettuż, `base64_decode` pereżempju jużawh ħafna applikazzjonijiet b'mod leġittimu. Isir suspettuż il-kombinazzjoni: dekodifikazzjoni li r-riżultat tagħha jmur direttament fi eżekuzzjoni.

## Fittex mingħajr periklu: kmandi grep bla ħsara

Il-kmandi li ġejjin ifittxu fil-fajls biss bħala test. Ma jesegwixxu l-ebda kodiċi PHP. Adatta l-mogħdija.

```bash
# Eżekuzzjoni kkombinata ma' dekodifikazzjoni jew dekompressjoni
grep -rlE "(eval|assert)\s*\(\s*(base64_decode|gzinflate|gzuncompress|str_rot13|hex2bin)" /var/www --include="*.php*"

# Linji twal ħafna (spiss kodiċi mpakkjat)
grep -rlE ".{2000,}" /var/www --include="*.php*"

# Ħafna escapes hex jew ktajjen chr() f'linja waħda
grep -rlE "(\\\\x[0-9a-fA-F]{2}){20,}" /var/www --include="*.php*"
grep -rlE "(chr\s*\(\s*[0-9]+\s*\)\s*\.\s*){8,}" /var/www --include="*.php*"

# Sejħa ta' funzjoni permezz ta' varjabbli direttament wara assenjazzjoni minn sekwenzi ta' karattri
grep -rnE "\\\$[a-zA-Z_]+\s*=\s*['\"][a-z_]{4,}['\"]\s*;\s*\\\$[a-zA-Z_]+\s*\(" /var/www --include="*.php*" | head -50
```

Iċċekkja r-riżultati l-ewwel b'`ls -l` u t-timestamp u imbagħad iftaħhom biss bħala test, pereżempju b'`less`. Qatt tsejjaħx fajls suspettużi permezz tal-browser, għax b'hekk is-server jesegwihom.

## Fejn normalment jinsab kodiċi moħbi

Kodiċi moħbi rari jinsab f'fajl proprju u li jaqbad l-għajn. Aktar spiss jiddaħħal fi fajls eżistenti, fil-bidu nett jew fl-aħħar nett, spiss wara ħafna linji vojta, biex ma jaqbadx l-għajn minnufih meta jinfetaħ. Popolari huma fajls li jitgħabbew f'kull sejħa: l-`index.php` ċentrali, fajls tal-konfigurazzjoni u l-fajls tal-funzjonijiet ta' theme.

Triq partikolarment diskreta tgħaddi mill-konfigurazzjoni. Bl-issettjar `auto_prepend_file` PHP jgħabbi fajl addizzjonali qabel kull skript. Jekk jinsab f'`.user.ini` jew `.htaccess` li ħoloq attakkant, il-kodiċi tiegħu jaħdem ma' kull sejħa ta' paġna, mingħajr ma jinbidel ebda fajl tal-applikazzjoni. Il-fajl imdaħħal ta' spiss ikollu estensjoni bla ħsara bħal `.ico` jew `.png`.

```bash
# Kodiċi addizzjonali jitgħabba qabel jew wara kull skript?
grep -rnE "auto_(prepend|append)_file" /var/www --include=".user.ini" --include=".htaccess" --include="*.conf" 2>/dev/null

# Kodiċi PHP fi fajls b'estensjoni ta' immaġni jew ikona
grep -rlE "<\?php" /var/www --include="*.ico" --include="*.png" --include="*.jpg" --include="*.gif" 2>/dev/null
```

## Ifred il-moħbi leġittimu minn kodiċi malizzjuż

Mhux kull kodiċi illeġibbli huwa malizzjuż. Tliet każijiet jiġru spiss:

1. **Encoders kummerċjali:** Xi manifatturi ta' plugins u softwer jipproteġu l-kodiċi tagħhom b'għodod bħal ionCube jew SourceGuardian. Il-fajls ma jinqarawx, imma tipikament jirreferu għall-loader meħtieġ. Qabbilhom mal-pakkett oriġinali.
2. **Kodiċi minifikat jew iġġenerat:** Caches u engines tat-templates joħolqu linji twal mingħajr qsim, madankollu mingħajr eżekuzzjoni ta' test dekodifikat.
3. **Data mdaħħla:** Immaġini jew fonts bħala sekwenza Base64 fi fajl PHP huma mhux tas-soltu, imma bla ħsara, sakemm ir-riżultat ma jiġix eżegwit.

L-iktar test affidabbli huwa t-tqabbil mas-sors: jekk il-fajl ġej mingħajr bidla mill-pakkett tal-manifattur, huwa leġittimu. Jekk ma jinsab f'ebda pakkett oriġinali jew jiddevja minnu, jixraq li jiġi investigat.

> **Importanti:**
> Tippruvax tiddekripta kodiċi moħbi fuq is-server produttiv, pereżempju billi tissostitwixxi `eval` b'output u tissejjaħ il-fajl. Anke żball wieħed hemmhekk jesegwixxi l-kodiċi malizzjuż. L-analiżi tappartjeni f'ambjent iżolat.

## Limiti tat-tiftix ta' mudelli

L-attakkanti jafu l-kmandi komuni tat-tiftix. Jaqsmu ismijiet ta' funzjonijiet, jinġabru waqt it-tħaddim jew jibagħtu l-kodiċi veru fid-database, fi fajls tal-immaġni jew f'daħliet tal-konfigurazzjoni. Tiftix ta' mudelli għalhekk isib ħafna, imma mhux kollox. Għaliex anke scanners isibu limiti hawnhekk tispjegah [Scanners tal-malware għal websajts: dak li jsibu u dak li ma jsibux](https://phpsos.de/mt/blog/grenzen-von-malware-scannern/).

Sejba, barra minn hekk, rari tkun l-unika. L-attakkanti spiss jużaw l-istess blokk f'diversi fajls, pereżempju isem ta' varjabbli li jaqbad l-għajn jew sekwenza distinta fil-bidu tal-blokk kodifikat. Wara sejba kkonfermata għalhekk fittex b'mod immirat eżattament din is-sekwenza fid-direttorju tal-web kollu, anke f'websajts oħra fuq l-istess server. Hekk issib aħwa li l-ebda tiftix ġenerali ta' mudelli ma qabad.

Kompli t-tiftix bit-tqabbil ma' fajls oriġinali u b'ħarsa fid-database, ara [Iċċekkja d-database għal kodiċi introdott](https://phpsos.de/mt/blog/datenbank-auf-schadcode-pruefen/). B'mod preventiv jistgħu jiġu mblukkati funzjonijiet tas-sistema mhux meħtieġa, kif deskritt fil-gwida [Kif tuża sew disable_functions](https://phpsos.de/mt/ratgeber/disable-functions/).

## Kif tgħin PHP SOS b'mod konkret?

- **Infittxu:** Infittxu fi fajls u fid-database b'mudelli estiżi u nqabblu ma' pakketti oriġinali.
- **Neżaminaw:** Neżaminaw kodiċi suspettuż f'ambjent iżolat, mingħajr ma nipperikolaw is-sistema tagħkom.
- **Intnaddfu:** Bit-[Tneħħija tal-malware](https://phpsos.de/mt/leistungen/malware-entfernung/) neħħu l-partijiet kollha u nagħlqu t-triq tad-dħul.
- **Nassiguraw:** Nillimitaw il-funzjonijiet ta' PHP u d-drittijiet tal-kitba u nissorveljaw fajls ġodda jew mibdula.


## Mistoqsijiet frekwenti

**eval b'base64_decode huwa dejjem kodiċi malizzjuż?**  
Mhux dejjem, imma spiss ħafna. Kodiċi leġittimu kważi ma jeħtieġx din il-kombinazzjoni. Fi fajls li ma jappartjenux għall-applikazzjoni tiegħek jew għal plugin magħruf, huwa sinjal qawwi ta' twissija.

**Nista' ndekodifika kodiċi moħbi biex naqrah?**  
Biss mingħajr ma teżegwih u mhux fuq is-server produttiv. Anke eżekuzzjoni aċċidentali tista' tikkawża ħsara. Fid-dubju ħalli l-analiżi f'idejn speċjalisti li jaħdmu b'ambjenti iżolati.

**Għaliex l-iscanner tal-malware tiegħi ma jsibx il-kodiċi?**  
L-iscanners ifittxu mudelli magħrufa. L-attakkanti jibdlu l-kodiċi tagħhom kontinwament, jaqsmu ismijiet ta' funzjonijiet jew iġibuhom flimkien waqt it-tħaddim. Skennjar vojt għalhekk mhuwiex prova ta' server nadif.

**X'inhu dwar plugins kriptati kummerċjalment?**  
Xi manifatturi jipproteġu l-kodiċi tagħhom b'encoders bħal ionCube jew SourceGuardian. Fajls bħal dawn ma jinqarawx, imma huma leġittimi jekk ġejjin mill-manifattur. Qabbilhom mal-pakkett oriġinali.

**disable_functions jgħin kontra kodiċi moħbi?**  
Parzjalment. Funzjonijiet bħal exec jew system jistgħu jiġu mblukkati, eval min-naħa l-oħra le, għax huwa kostrutt tal-lingwa u mhux funzjoni. Il-blokk jagħmel il-pass li jmiss tal-attakkanti aktar diffiċli, imma ma jipprevjenix kull kodiċi malizzjuż.

## Sorsi

- [Manwal ta' PHP: assert()](https://www.php.net/manual/de/function.assert.php)
- [Manwal ta' PHP: create_function()](https://www.php.net/manual/de/function.create-function.php)
- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
