Possible attacks: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '=== 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 rekommen...')
 
 
(2 mellanliggande sidversioner av samma användare visas inte)
Rad 2: Rad 2:
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:
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 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.


* **Å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 =
= Sidslut =
Orginalhemsidan på Engelska :https://www.php.net/manual/en/security.intro.php
Orginalhemsidan på Engelska :https://www.php.net/manual/en/security.intro.php
<BR>[[PHP]]<BR>[[Säkerhet]]
<BR>[[PHP]]<BR>[[Säkerhet]]
<BR>[[Installerad som CGI-binär]]
[[Kategori:Php]]
[[Kategori:Php]]
<hr>
<hr>

Nuvarande version från 1 september 2024 kl. 05.57

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
Installerad som CGI-binär


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.