XSS

From A-Eskwiki
Jump to: navigation, search

XSS staat voor Cross Side Scripting en het is een zeer gevaarlijke manier waarop hackers met kwaadaardige intenties kunnen inbreken op een website. Een voorbeeld is het volgende: als iemand bij zichzelf de naam verandert naar "<script>alert('hoi');</script>naam" en speciale characters worden niet goed ge-escaped als de naam wordt weergegeven, zal de browser het script-gedeelte als HTML zien en als javascript uitvoeren. Iedereen die dus de naam van de persoon ziet zal een popup krijgen met "hoi" erin. Natuurlijk is een popup niet erg, maar je kan als algemene regel aannemen dat als users zelf javascript kunnen runnen ze je website gehacked hebben.

Om te voorkomen dat users op de A-Eskwadraatsite XSS aanvallen kunnen uitvoeren is het daarom altijd belangrijk om data altijd ge-escaped weer te geven op de site. Je kan hiervoor de php-functie 'htmlspecialchars' gebruiken, of je kan voor een attribute van een object gebruiken

ObjectView::waardeAttribute($object)

waarbij natuurlijk Object je soort object is, Attribute je attribuut en $object je object-variabele. Dit, samen met pdo voorkomt dat users eerste- en tweede-orde SQL-injecties kunnen toepassen.

Er is ook de super handige XSS-cheet-sheet waar alles staat over hoe je xss-aanvallen zoveel mogelijk kunt voorkomen: #REDIRECT https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet