Magazine

$_SERVER['PHP_SELF'] et injection de code HTML (création site internet)

Publié le 02 mars 2008 par Mr32

Cette faille de sécurité n'est pas nouvelle en soit, mais il est parfois bon de faire un petit rappel. De manière générale, ne faites jamais confiance aux variables $_SERVER, $_COOKIE, mais aussi, $_GET, $_POST, $_REQUEST, $_FILES...

Exemple de faille avec <?php echo $_SERVER['PHP_SELF']; ?> dans la page php suivante :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>$_SERVER['PHP_SELF']</title>
</head>
<body>
	<form action="<?php echo $_SERVER['PHP_SELF']; ?>" action="post">
		<fieldset>
			<legend>Ma FORM</legend>
			<p><input type="submit"></p>
		</fieldset>
	</form>
</body>
</html>

Si vous appelez la page ci-dessus avec le lien suivant :

http://www.monsite.com/page.php/"><script>alert('Injection!');</script>

vous verrez une belle fenêtre de dialogue Javascript "Injection!" ...

Pour remédier à cette faille de sécurité, pensez à toujours sécuriser vos variables avec une fonction du type htmlentities().



Retour à La Une de Logo Paperblog

A propos de l’auteur


Mr32 12 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte