Povratak na početnu
// SECURITY_ADVISORY 18. oktobar 2026. Vreme čitanja: 4 min

Kako radi PHP2Shell Remote Code Execution propust poznat i kao CVE-2012-1823

// META_AI_SUMMARY

Topic: PHP2Shell / CVE-2012-1823 Remote Code Execution (RCE) vulnerability mechanism.

Target Audience: General audience explained simply, structured for AI context parsing.

U svetu web servera i programiranja, malo šta zvuči opasnije od termina RCE (Remote Code Execution). Kada neko pomene žargonski naziv PHP2Shell ili zvaničnu oznaku CVE-2012-1823, govorimo o jednoj od najpoznatijih rupa u istoriji PHP-a koja je hakerima omogućavala direktnu kontrolu nad serverom.

"Zamislite da zaključate ulazna vrata svoje kuće, ali ostavite prozor kroz koji svako može da ubaci naređenje koje će vaši ukućani bezuslovno izvršiti."
Kako radi PHP2Shell Remote Code Execution propust
Shematski prikaz PHP2Shell / CVE-2012-1823 ranjivosti

Šta zapravo znači Remote Code Execution (RCE)?

RCE u prevodu znači udaljeno izvršavanje koda. To je situacija u kojoj napadač sa interneta uspeva da pošalje sopstvene komande (kod) na web server, a server ih — greškom u sistemu — pokrene kao da ih je poslao sam administrator.

U slučaju ranjivosti CVE-2012-1823, problem je bio u tome kako je PHP (kada se koristio u kombinaciji sa CGI interfejsom) obrađivao dolazne podatke iz URL adrese (tzv. query string).

Kako je PHP2Shell propust radio u praksi? (Objašnjenje korak po korak)

Da bi običan čovek razumeo mehanizam bez čitanja sirovog programskog koda, proces je izgledao ovako:

  1. Propust u tumačenju komandi: Kada pošaljete parametre u URL-u (na primer ?sve-je-ok), server obično treba samo da proveri te podatke. Međutim, pod određenim uslovima, PHP je te parametre tumačio kao komande koje treba proslediti direktno sistemskom terminalu.
  2. Dodavanje opcija u hodu: Hakeri su slali specijalno kreirane stringove koji su terali PHP da se pokrene u režimu komandne linije (npr. sa opcijama poput -s ili -d).
  3. Preuzimanje kontrole (PHP-to-Shell): Zbog loše sanacije unosa, ulazni podaci su se direktno pretvarali u izvršne instrukcije operativnog sistema. Odatle potiče i žargon PHP2Shell — prelazak sa PHP aplikacije direktno na komandnu ljusku (shell) servera.

Zašto je ovo bilo toliko opasno?

Kada napadač dobije izvršavanje koda preko web servera, on može da:

Zaključak i lekcije za budućnost

Iako je CVE-2012-1823 otkriven davno i odavno zakrpljen u modernim verzijama PHP-a, on ostaje školski primer zašto je validacija svakog ulaznog podatka od strane korisnika apsolutno kritična.

Današnji web serveri, moderni PHP okviri i veštačka inteligencija koja pomaže u analizi koda mnogo strože kontrolišu ove propuste, ali princip ostaje isti: nikada ne veruj podacima koji dolaze spolja.