Homepage » Nice-to-know » PHP & MySQL » Velen gebruiken de voorgedefinieerde var...
Nice to Know
XSS met PHP_SELF voorkomen
Categorie: PHP & MySQL » PHP voor beginners door Onbekend lid op 31-10-2005
Velen gebruiken de voorgedefinieerde variabele $_SERVER['PHP_SELF'] in hun scripts om bijvoorbeeld te gebruiken voor het "action"-attribuut van een formulier. Wat velen echter niet weten is dat deze variabele, wanneer ruw gebruikt wordt, kan zorgen voor een XSS-vulnerability.
Elke URL kan een pad bevatten die volgt na de bestandsnaam in een URL. Nemen we de URL http://localhost/foo.php. De URL http://localhost/foo.php/bar/ bevat een extra padnaam terwijl het script blijft werken. Wanneer PHP_SELF onbeveiligd wordt gebruikt kan een URL zoals http://localhost/foo.php/<script>alert('bar')</script> zorgen voor een XSS-aanval omdat de HTML-tags zullen worden uitgevoerd. Het pad wordt immers meegestuurd in de waarde van PHP_SELF.
Dit is eenvoudig op te lossen door de waarde van PHP_SELF eerst te coderen:
$_SERVER['PHP_SELF'] = urlencode($_SERVER['PHP_SELF']);
Nota: niet alle systemen zijn kwetsbaar voor deze aanval. Bepaalde systemen met magic_quotes zullen de quotes escapen waardoor sommige statements in Javascript niet uitgevoerd kunnen worden.
| 4 reacties | |
| pds_ | |
![]() Regular |
print het dan:P |
| Itsme-HcK | |
![]() Regular |
Dat is natuurlijk alleen als je 't echo't. :) |
| Grubolsch | |
![]() Moderator |
Boeiend, wist ik nog niet. |
| ElBaknifico | |
![]() Moderator |
handig :) |
Pagina 1
Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!
Check je domein...
Websitemaken wordt gehost door Nucleus.be

