Google’s Aankondiging dat ze klaar waren met flash was de laatste spijker in de kist van Flash.
Zelfs daarvoor hielden technocraten van beroemdheden van Steve Jobs sprak openlijk tegen Flash.
Met de ondergang van flash en de opkomst van HTML5 is een nieuw tijdperk ingeluid met beter uitziende en beter functionerende websites die compatibel zijn met zowel mobiele telefoons als pc’s.
Het overdragen en ontvangen van gegevens is ook veel eenvoudiger dan voorheen.
Het presenteert echter zijn unieke uitdagingen die moeten worden gewonnen.
Het voordeel hiervan is dat html5 cross-browser ondersteuning en functionaliteit naar een geheel nieuw niveau tilt.
Bepaalde browsers ondersteunen geen afzonderlijke site-elementen en het is frustrerend om de site-elementen te moeten wijzigen om het uiterlijk bij te houden.
HTML5 negeert die vereiste omdat alle moderne browsers dit ondersteunen.
Contents
Bronnen delen tussen bronnen
Cross-origin resource sharing (CORS) is een van de meest invloedrijke functies van html5 en ook een die de meeste mogelijkheden biedt voor fouten en hackeraanvallen.
CORS definieert headers om sites in staat te stellen de oorsprong te definiëren en contextuele interacties te vergemakkelijken.
Met html5 dempt CORS het fundamentele beveiligingsmechanisme op browsers genaamd de Zelfde oorsprongsregel.
Onder hetzelfde oorsprongbeleid kan een browser een webpagina alleen toegang geven tot gegevens van een tweede webpagina als beide webpagina’s dezelfde oorsprong hebben.
Wat is een oorsprong?
Een oorsprong is een combinatie van URI-schema, hostnaam en poortnummer. Dit beleid voorkomt dat kwaadaardige scripts gegevens van webpagina’s kunnen uitvoeren en openen.
CORS versoepelt dit beleid door verschillende sites toegang te geven tot gegevens om contextuele interactie mogelijk te maken.
Dit kan ertoe leiden dat een hacker gevoelige gegevens in handen krijgt.
Bijvoorbeeld,
Als u bij Facebook bent ingelogd en ingelogd bent en vervolgens een andere site bezoekt, is het mogelijk dat de aanvallers informatie kunnen stelen en alles kunnen doen wat ze willen met uw Facebook-account door te profiteren van het ontspannen cross-origin-beleid.
Op een iets meer lauwe toon, als een gebruiker is ingelogd op zijn bankrekening en vergeet uit te loggen, kan de hacker toegang krijgen tot de inloggegevens van de gebruiker, zijn transacties of zelfs nieuwe transacties maken.
Browsers door gebruikersgegevens op te slaan, laten sessiecookies open voor misbruik.
Hackers kunnen zich ook met de headers bemoeien om niet-gevalideerde omleidingen te activeren.
Ongeldige omleidingen kunnen voorkomen wanneer browsers niet-vertrouwde invoer accepteren. Dit stuurt op zijn beurt een omleidingsverzoek door. De niet-vertrouwde URL kan worden gewijzigd om een invoer toe te voegen aan de kwaadaardige site en dus phishing-zwendel te starten door URL’s op te geven die identiek lijken aan de daadwerkelijke site.
Ongeldige omleidings- en doorstuuraanvallen kunnen ook worden gebruikt om kwaadwillig een URL te maken die de toegangscontrole van de toepassing zou doorstaan en de aanvaller vervolgens door te sturen naar bevoorrechte functies waartoe ze normaal gesproken geen toegang zouden hebben..
Dit is waar ontwikkelaars voor moeten zorgen om te voorkomen dat deze dingen gebeuren.
- Ontwikkelaars moeten ervoor zorgen dat URL’s worden doorgegeven om te openen. Als dit domeinoverschrijdend is, kan het kwetsbaar zijn voor code-injecties.
- Let ook op of de URL’s relatief zijn of dat ze een protocol specificeren. Een relatieve URL specificeert geen protocol, d.w.z. we zouden niet weten of het begint met HTTP of https. De browser gaat ervan uit dat beide waar zijn.
- Vertrouw niet op de Origin-header voor toegangscontrolecontroles, omdat deze gemakkelijk kunnen worden vervalst.
Hoe weet u of CORS is ingeschakeld op een bepaald domein?
Welnu, u kunt ontwikkelaarstools in de browser gebruiken om de koptekst te bekijken.
Cross-domein berichten
Cross-domein messaging was voorheen niet toegestaan in browsers om cross-site-scripting-aanvallen te voorkomen.
Dit voorkwam ook dat legitieme communicatie tussen websites plaatsvond, wat nu het grootste deel van de berichtgeving tussen domeinen maakte.
Met webberichten kunnen verschillende API’s gemakkelijk met elkaar communiceren.
Om cross-scripting-aanvallen te voorkomen, moeten ontwikkelaars dit doen.
Ze moeten de verwachte oorsprong van het bericht vermelden
- De oorsprongskenmerken moeten altijd worden gecontroleerd en gegevens moeten worden geverifieerd.
- De ontvangende pagina moet altijd het oorsprongskenmerk van de afzender controleren. Dit helpt om te verifiëren dat de ontvangen gegevens inderdaad vanaf de verwachte locatie worden verzonden.
- De ontvangende pagina moet ook invoervalidatie uitvoeren om ervoor te zorgen dat de gegevens het vereiste formaat hebben.
- Uitgewisselde berichten moeten worden geïnterpreteerd als data en niet als code.
Betere opslag
Een ander kenmerk van html5 is dat het een betere opslag mogelijk maakt. In plaats van te vertrouwen op cookies om gebruikersgegevens bij te houden, is de browser ingeschakeld om gegevens op te slaan.
HTML5 zorgt voor opslag over meerdere vensters, heeft een betere beveiliging en bewaart gegevens zelfs na het sluiten van een browser. Lokale opslag is mogelijk zonder browserplug-ins.
Dit betekent verschillende soorten problemen.
Ontwikkelaars moeten voor de volgende dingen zorgen om te voorkomen dat aanvallers informatie stelen.
- Als een site wachtwoorden van gebruikers en andere persoonlijke informatie opslaat, kan deze door hackers worden benaderd. Dergelijke wachtwoorden, indien niet versleuteld, kunnen eenvoudig worden gestolen via webopslag-API’s. Daarom wordt sterk aangeraden dat alle waardevolle gebruikersgegevens worden versleuteld en opgeslagen.
- Bovendien zijn veel malware-payloads al begonnen met het scannen van browsercaches en opslag-API’s om informatie over gebruikers te vinden, zoals transactionele en financiële informatie.
Afsluitende gedachten
HTML5 biedt uitstekende mogelijkheden voor webontwikkelaars om wijzigingen aan te brengen en de zaken veel veiliger te maken.
Het grootste deel van het werk om een veilige omgeving te bieden, valt echter bij de browsers.
Als je meer wilt weten, ga dan naar “Leer HTML5 in 1 uur” Cursus.