Possible attacks
Möjliga attacker
Att använda PHP som en CGI-binär är ett alternativ för uppsättningar som av någon anledning inte vill integrera PHP som en modul i serverprogramvaran (som Apache), eller som kommer att använda PHP med olika typer av CGI-wrappers för att skapa säkra chroot- och setuid-miljöer för skript. Denna uppsättning innebär vanligtvis att den exekverbara PHP-binären installeras i webbserverns cgi-bin-katalog. CERT-advisory » CA-96.11 rekommenderar att man undviker att placera några tolkar i cgi-bin. Även om PHP-binären kan användas som en fristående tolk, är PHP utformat för att förhindra de attacker som denna uppsättning gör möjliga:
- **Åtkomst till systemfiler:** http://my.host/cgi-bin/php?/etc/passwd Frågeinformationen i en URL efter frågetecknet (?) skickas som kommandoradsargument till tolken av CGI-gränssnittet. Vanligtvis öppnar tolkar och exekverar filen som specificerats som första argumentet på kommandoraden. När PHP anropas som en CGI-binär vägrar PHP att tolka kommandoradsargumenten.
- **Åtkomst till alla webb-dokument på servern:** http://my.host/cgi-bin/php/secret/doc.html Sökvägsinformationen i URL:en efter PHP-binärens namn, /secret/doc.html, används traditionellt för att specificera namnet på filen som ska öppnas och tolkas av CGI-programmet. Vanligtvis används vissa webbserverkonfigurationsdirektiv (Apache: Action) för att omdirigera förfrågningar till dokument som http://my.host/secret/script.php till PHP-tolken. Med denna uppsättning kontrollerar webbservern först åtkomsträttigheterna till katalogen /secret, och skapar därefter den omdirigerade förfrågan http://my.host/cgi-bin/php/secret/script.php. Tyvärr, om förfrågan ursprungligen ges i denna form, görs inga åtkomstkontroller av webbservern för filen /secret/script.php, utan endast för /cgi-bin/php-filen. På detta sätt kan alla användare som har tillgång till /cgi-bin/php få tillgång till alla skyddade dokument på webbservern. I PHP kan runtime-konfigurationsdirektiven cgi.force_redirect, doc_root och user_dir användas för att förhindra denna attack, om serverns dokumentträd har några kataloger med åtkomstbegränsningar. Se nedan för en fullständig förklaring av de olika kombinationerna.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/security.intro.php
PHP
Säkerhet
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.