Verejne dostupný výpis phpinfo()

Čo to je

Na webe je verejne dostupný súbor (najčastejšie phpinfo.php alebo info.php), ktorý volá funkciu phpinfo(). Tá vypíše celú konfiguráciu PHP. Kontrolujeme, že odpoveď naozaj vyzerá ako výpis phpinfo(), nestačí nám samotné HTTP 200.

Prečo je to problém

Výpis útočníkovi ušetrí prácu s prieskumom:

Súbor nikto nezakladá úmyselne. Zostane tam po ladení alebo po inštalácii.

Ako to opraviť

Súbor zmažte

Najjednoduchšia a najlepšia oprava. Ak neviete, ktorý súbor to je, prehľadajte kód:

grep -rl "phpinfo(" /var/www --include=*.php

Keď ho potrebujete

Spúšťajte phpinfo() len z príkazového riadka alebo na lokálnom stroji. Na produkcii môžete funkciu vypnúť v php.ini:

disable_functions = phpinfo

Alebo zablokujte typické názvy na úrovni servera (nginx):

location ~* /(phpinfo|info|test)\.php$ {
    return 404;
}

Ak bol výpis verejný

Považujte všetko, čo vo výpise bolo, za viditeľné cudzím ľuďom. Vymeňte heslá a kľúče, ktoré sa objavovali v premenných prostredia.

Referencie