image

Onderzoeker ontdekt nieuw soort Cross Site Scripting

woensdag 7 april 2010, 17:01 door Redactie, 9 reacties

Een Amerikaanse beveiligingsonderzoeker heeft een nieuw soort Cross Site Scripting ontdekt waarmee het mogelijk is om gegevens van internetgebruikers te stelen. Meta-Information Cross Site Scripting, afgekort miXSS, verschilt van reflected, persistente en DOM-gebaseerde XSS in dat het netwerktools gebruikt zoals Whois gegevens, SSL-certificaat informatie en Server Banners (SMTP/HTTP). Onderzoeker Tyler Reguly vermoedt dat er nog meer manieren zijn, maar dit waren degene waar hij naar heeft gekeken.

"Denk aan de netwerktools waar zo veel webmasters en SMB-beheerders op vertrouwen, tools die whois lookups uitvoeren, DNS records resolven of de headers van een webserver queryen. Ze nemen allemaal meta-informatie van verschillende diensten en geven die binnen een gerenderde website weer." Deze vorm van XSS valt niet in de al bekende categorieën.

Bij reflected XSS wordt de invoer van de gebruiker tegen hem gebruikt. Persistent XSS slaat gebruikersinvoer op en kan zo aan alle bezoekers worden getoond, in plaats van alleen aan de bezoeker die de kwaadaardige input levert. Bij een DOM-gebaseerde XSS wordt het Document Object Model aangepast en is er geen data in de HTTP response vereist.

Invoer
"Als je aan meta-informatie denkt, heb je het over data die data beschrijft. Als je een domeinnaam als data beschouwt, dan beschrijft de Whois informatie (eigenaar, contact, etc.) die informatie. Hetzelfde geldt voor SSL-certificaten, banners en DNS TXT entries", aldus Reguly, die dit als uitgangspunt gebruikte bij het benoemen van de aanval.

"Met miXSS is de invoer van de gebruiker geldig en gecontroleerd. Hierdoor is het geen reflected XSS en aangezien we geen gebruikersinvoer opslaan, is het ook geen persistent XSS. Omdat we niet met de DOM aan de slag gaan, kunnen we ook dit soort aanval elimineren", zegt Reguly. Hij erkent dat zijn aanval niet nieuw of uniek is. Zijn aankondiging is dan ook niet op security professionals gericht, maar op ontwikkelaars en systeembeheerders. "We zeggen altijd zuiver gebruikersinvoer en in dit geval is de invoer van de gebruiker schoon, maar moeten we alle inkomende informatie zuiveren."

Reacties (9)
07-04-2010, 17:08 door [Account Verwijderd]
[Verwijderd]
07-04-2010, 17:38 door ss_c
Zo nieuw is dit niet...
07-04-2010, 17:46 door Anoniem
Goh als een logmonitoor tool gewoon query's direct displayed in HTML formaat dan krijg je echt html ja.
07-04-2010, 18:21 door Anoniem
Goede kop, zeker aangezien de onderzoeker zelf zegt:

I'm not saying that this type of attack is new and unique, in fact when I discussed this with RSnake he pointed me to a post on http://sla.ckers.org/forum/ that referred to XSS via whois.

A number of readers are likely to look at this and say, "Nothing new here, what's the point?" and I'd be willing to bet those people work in security and saw this and had a "that's obvious" moment but when you think about it, security mailing lists and conferences are often full of those moments.
07-04-2010, 19:56 door Anoniem
Poeh poeh nou nou...
07-04-2010, 20:02 door cyberpunk
Houdt NoScript dit al tegen in Fx?
08-04-2010, 01:27 door Anoniem
ah, je moet wat doen om op het nieuws te komen
08-04-2010, 01:32 door Anoniem
Serieus?

Volgende week: nieuwe XSS vorm gevonden, als je een mailtje stuurt naar iemand met webmail kan je XSS hebben. Oh Noes!

XSS komt niet van gebruikers invoer, het komt doordat websites data niet goed escapen als het aan een gebruiker terug gegeven wordt, onafhankelijk waar die data vandaan kwam: Mail, gebruikers invoer, ingescande documenten, whois data, hostnames, databases etc etc etc etc etc.
08-04-2010, 17:01 door Anoniem
"Houdt NoScript dit al tegen in Fx?"
Ik ben bang dat dat moeilijk wordt omdat de invoer uit de site zelf komt zoals en gastenboek dat geen htmlspecialchars() gebruikt.

Het is eigenlijk een gewone XSS maar dan op een andere manier toegepast.
Overigens heeft iemand hier op Security.nl via deze manier de SSL validator van Networking4all gekraakt ;)

Een bepaling uit mijn (draft) beveiligingsrichtlijnen.

Externe invoer/gegevens:
Elke vorm van invoer of gegevens welke het systeem binnenkomen via een niet controleerbare vorm.

Een voorbeeld van externe invoer is het afhandelen van een formulier, of invoer via een externe interface.

Ook het ophalen van gegevens van niet gecontroleerde bronnen valt onder externe invoer.
Waaronder RSS of een SOAP/XML service of log bestanden.

Een database welke onderdeel is van het systeem zelf, valt niet onder externe invoer.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.