Waarom is xss zo schadelijk?

Nog één redelijk abstracte pagina, om zometeen meteen met codevoorbeelden te beginnen.


XSS is eigenlijk een verzamelnaam voor allerlei verschillende hacks, zoals cookie stealing, embedded commands, redirecting en script injection.

Cookie stealing is schadelijk, omdat de meeste php login systemen werken met behulp van sessies, en die sessies vaak niet ip gebonden zijn. Als een gebruiker dus jou sessie id weet, kan hij op jouw account!
Ook worden vaak (al dan niet geencrypte) gebruikersnamen en wachtwoorden in sessies opgeslagen, als je op de site zo'n leuk "onthoud mij" vinkje kan zetten.
Ook hier geld, als een hacker die sessie gegevens weet, kan hij gewoon inloggen op jouw account..


Embedded commands, hiervan zijn er op iedere website wel 1 of meer te vinden, ik heb er gister op phphulp ook meerdere gevonden.
Maar wat is het? Als je bij php een GET request maakt, roep je in feite alleen een url aan, in die url zijn de namen van velden en hun waardes gezet.
Stel je nou voor, dat je een plaatje op je website zet, en dat plaatje heeft als url een php script, met daarin een get variabele, en een waarde.
Iedere gebruiker die dat plaatje ziet, roept die php pagina aan, met die waarde als GET.
voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="http://www.site.com/target.php?ban=huib"></img>

Als nu een moderator, of iemand die bevoegd is tot bannen, dat plaatje ziet, word ik gebanned! Dit is maar op een manier op te lossen, voor belangrijke dingen alleen POST gebruiken.


Url redirection word vaak gebruikt bij phishing mails, mailtjes waar mensen data uit jou proberen te krijgen, zoals wachtwoorden bij je bank en dergelijke.
Voor url redirection maakt de hacker gebruik van een fout in jou code, en hij leid mensen vanaf jouw site om naar de site van de hacker.
Mensen die een mailtje krijgen van "jouw" webserver, met daarin de vraag of ze even hun wachtwoord in willen vullen op "jouw" site, omdat er een storing is, of iets dergelijks, zullen daar sneller intrappen als die link ook daadwerkelijk begint met http://jouwserver/.

Script injection is niet echt een vorm van xss, maar het word toch vaak in een adem genoemt. Script injection is een van de ergste bugs die een website kan hebben, omdat alle gegevens die op de server staan naar buiten kunnen komen.
Wanneer is een script vatbaar voor script injection? Nou bijvoorbeeld, als je gebruikers bestanden laat includen, en deze vatevoren niet checkt, of als je perongeluk de verkeerde quotes gebruikt.. `` ipv '' is dodelijk!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo `cmd.exe`;?>

de backtick operator (`) doet in feite hetzelfde als system(), hij voert de meegegeven waarde uit, alsof het een programma is!
(dit klinkt misschien heel dom, maar er zijn genoeg mensen die het niet weten, en die zonder zich bewust te zijn van de risicos `` gebruiken!

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Waarom is xss zo schadelijk?
  3. Voorbeelden van foute filters
  4. hoe moet het wel?

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.