In het land der blinden...

Door RobIII op dinsdag 18 november 2008 02:39 - Reacties (46)
Categorieën: In het land der blinden..., Life as a developer, Rants, Views: 9.177

Bah; wat sommige bedrijven toch een onzin kunnen verkopen. Zo kom ik vandaag weer een mooi juweeltje tegen van een boel bla bla en hoempapa maar ondertussen klinkklare onzin verkopen. Bah.

http://tweakers.net/ext/f/RZzowBqTrztGzQaSQdo0NJSS/full.jpg Zo kom ik op de site van "WAXTRAPP" (jaja, CAPS is hip! :P ) de bewering tegen dat hun CMS groen is. En groen is goed. Groen is hip. Groen is het nieuwe zwart. Groen is vriendelijk. En als zichzelf respecterend bedrijf wil je natuurlijk niet achterblijven. Ja, WAXTRAPP is zelfs zo groen dat het een webserverfarm met 52 servers kan vervangen door 1 enkele server. Ik denk dat die jongens dat wel eens even mogen onderbouwen met wat bronnen. Ik kan je op een briefje geven dat één van de volgende beweringen waar is:
  • de website welke "52 servers" nodig heeft is zo gaar als een klontje
  • de waxtrapp-site is niet vergelijkbaar met de website welke "52 servers" nodig zou hebben
  • deze getallen zijn uit een hoge hoed getoverd of uit een dikke duim gezogen
  • het blijkt een 'typo' te zijn; er had 5 2 moeten staan
De schuld wordt bij "Java of andere 'trage' platforms" neergelegd. Nu heb ik niet héél ver doorgezocht en het wordt zo ver ik kon zien angstvallig stilgehouden door waxtrapp maar volgens de HTTP headers draait hun website en de door hun als referentie opgegeven projecten, op 'doodnormale' PHP (Server: Apache/2.0.63 (Win32) PHP/5.2.5); niets bijzonders en niets 'groens' aan. Het is wat appels en peren vergelijken, maar het zal sowieso niet aan een platform liggen; die verschillen zullen marginaal zijn. Dat er geoptimaliseerd is, dat kan prima. En dat er flinke concessies zijn gedaan ten behoeve van de performance zal waarschijnlijk ook wel. En dat je dan een applicatie flink kunt verbeteren staat vast. Maar de vergelijking die zij maken heeft niets meer met appels en peren te maken; dat gaat zélfs die appels en peren te ver.

Ook leuk zijn de beweringen elders (over pve.nl): "De CSS en HTML voldoet aan de strenge "XHTML Strict 1.0" regels". Als je 117 errors en 116 warnings "voldoen aan" vindt dan heb je gelijk ja. Los van het feit dat de o-zo-hippe XHTML wordt geserveerd als text/html overigens (waar ik nog steeds eens een keer een stukje over wil gaan schrijven als ik ooit de tijd krijg).

http://tweakers.net/ext/f/SxeQDYvJbYjsoiIsEpmvJEZB/full.jpg Nog bonter wordt het als je ontdekt dat diezelfde pve.nl een XSS lek heeft. En dan ga je verder kijken in de door hun opgeleverde projecten en kom je diezelfde blunder tegen bij (o.a.) de gemeente Dordrecht, de NCRV en Suzuki, Lowcall.nl, de gemeente Renkum en ga zo maar door. Ook grappig dat je POST waardes kunt meegeven in de URL (GET) op de meeste sites. Wat zei ons dat ook weer? En dat deze zoekactie een oneindige zoektocht start en deze nog vreemdere effecten heeft. De heren en dames bij WAXTRAPP zijn inmiddels op de hoogte gebracht van dit "probleempje". Persoonlijk vind ik het te gek voor woorden dat dit, anno 2008, nog kan. Dat iemand die voor z'n hobby websites bouwt door de mand valt is prima te begrijpen maar van een bedrijf dat zulke klanten heeft mag je toch wel wat meer verwachten vind ik.

WAXTRAPP wordt verkocht en aangeprezen als een geschenk uit de hemel maar helaas doet ook dit 'godsgeschenk' na 5 minuten nader te bekijken bij mij af. Als er iets groen is bij WAXTRAPP dan zijn het de ontwikkelaars wel. Soms kom je toch wat tegen op het web :N

Dit alles op geheel persoonlijke noot

http://tweakers.net/ext/f/pX4KuVOXyslC4hM6Kf9yPbAY/full.gif Deze blog is geschreven op een volledig recyclebare webpagina. Er zijn geen bits of bytes geschaad tijdens het schrijven van deze tekst. Spaar het milieu door dit bericht niet af te drukken.

TwitterNuJIJeKudosFacebookFriendfeedGoogle BookmarksDiggdel.ici.ousTechnoratiSphinnMixxStumpleUponYahoo! BookmarksMaak je eigen RML op RobIII.nl!

Volgende: RobIII is jaloers 11-'08 RobIII is jaloers
Volgende: Wilde manen 11-'08 Wilde manen

Reacties


Door Tweakers user PeaceNlove, dinsdag 18 november 2008 08:29

JAVA als webserver...ja dan heb je wel 52 servers nodig.
'Gebruikt u ook een Boeing 747 voor de boodschappen verderop? Ga dan nu groener shoppen en koop een auto van ons, u gaat gegarandeerd 100x minder brandstof gebruiken!'

Door Tweakers user Snake, dinsdag 18 november 2008 08:34

Mja wat heb je aan die leaks? Die XXS heb je niets aan.

Die SQL misschien wel, maar ik vind geen exploit atm.

Door Tweakers user Snake, dinsdag 18 november 2008 08:35

XSS* Damnit where is the edit button.

Door Tweakers user Erkens, dinsdag 18 november 2008 08:54

Die XSS is best gevaarlijk, je kan op die manier vrij eenvoudig cookies stelen met een javascript redirect ;)

Door Tweakers user Mike-RaWare, dinsdag 18 november 2008 08:54

Dit is een echt perfect verhaal voor The Daily WTF. Het aantal WTF's kun je bijna niet tellen.

Door Tweakers user RobIII, dinsdag 18 november 2008 09:25

Die XSS is best gevaarlijk, je kan op die manier vrij eenvoudig cookies stelen met een javascript redirect ;)
:Y En los van dat het gevaarlijk is, is het een kwestie van fatsoenlijk escapen; les 2 voor iedere beginnende webdevver. Als dit soort kleinigheden al overal, en dan doel ik niet 'per-ongeluk-een-keertje', opduiken dan zet ik persoonlijk nogal snel een behoorlijk vraagteken bij dit soort 'producten', de kunde van de ontwikkelaars en het testproces. Als het nu een geheel nieuw idee of concept was; allee. Echter, we leven in 2008 en dit soort controles horen gewoon standaard op iedere checklist te staan en in ieder fatsoenlijk framework ingebakken te zitten. Blijkbaar niet dus.

[Reactie gewijzigd op dinsdag 18 november 2008 09:33]


Door Tweakers user LuckY, dinsdag 18 november 2008 10:03

Tja , Leuk blog maar wel schokkend.

Gemeente dordrecht is waar ik woon en je zou toch een beetje denken met de slogans Hoe dichter bij dordt hoe mooier/beter/groener het wordt.
Dat ze ook wel nadenken erover; De security stelt helaas niks voor van hun Ticket automaten. En ALS de site ook zo bagger is al dit :X

Door Tweakers user Tsunami, dinsdag 18 november 2008 10:09

Niet dat ik iets wil goedpraten, want het is nog steeds basis-webdevelopen, maar die validatie moet je wel even in context zetten. De XHTML en CSS die bij hun op de server staat is prima valid, alleen wordt waarschijnlijk htmlspecialchars niet gebruikt voor URLs die uit de database komen, waardoor & niet wordt vervangen met &. Daar gaan al die errors en warnings namelijk over :) Maar je hebt helemaal gelijk, weer een stukje software wat ik nooit zal gebruiken :P
Los van het feit dat de o-zo-hippe XHTML wordt geserveerd als text/html overigens (waar ik nog steeds eens een keer een stukje over wil gaan schrijven als ik ooit de tijd krijg).
Hoeft niet hoor, is al regelmatig gedaan :) Feit is gewoon dat IE nog steeds geen XHTML ondersteunt, en dat scholen je er ook niks over leren (in ieder geval op de Hogeschool Utrecht heb ik nooit wat gehoord over applicarion/xhtml+xml). Dus ja, aan de ene kant moet het allemaal valid zijn, maar aan die validiteit heb je niks als het nog steeds als HTML wordt geparsed.

Door Tweakers user Tsunami, dinsdag 18 november 2008 10:10

Fijn, geen edit knopje :( Nouja, die tweede & moet dus & amp; zijn.

Door Tweakers user RobIII, dinsdag 18 november 2008 10:18

Daar gaan al die errors en warnings namelijk over :)
De meeste wel, maar ik ben ook al andere errors tegengekomen waarbij elementen binnen andere elementen gebruikt worden die niet toegestaan zijn. Die kan ik zo snel even niet meer vinden, maar zo vind ik hier bijvoorbeeld de <P> en <STRONG> tags, terwijl XHTML case-sensitive is en lowercase tags vereist. Daarbij is het één grote div-rommel.
Dus ja, aan de ene kant moet het allemaal valid zijn, maar aan die validiteit heb je niks als het nog steeds als HTML wordt geparsed.
Je kunt je ook afvragen waarom je dan XHTML gebruikt en waarom niet gewoon HTML strict bijvoorbeeld ;) Het geluk is dat browsers nog forgiving zijn, maar XHTML zou, in pricipe, de complete pagina niet moeten renderen; 1 fout en u bent af -> Geen pagina die rendert maar een dikke foutmelding. Het probleem is dat XHTML vaak wordt gekozen omdat het 'hip' is of omdat het 'de opvolger van HTML is' en dat is, beide, onzin. Zolang je geen gebruik maakt van de (paar kleine) voordelen die XHTML biedt (en die worden zélden, maar eerder nooit, gebruikt) heeft het totaal geen nut. Daarbij gaat validatie vérder dan enkel de startpagina en is validatie ook overrated; steek liever wat tijd in semantiek ;)

[Reactie gewijzigd op dinsdag 18 november 2008 10:55]


Door Tweakers user Cyphax, dinsdag 18 november 2008 10:24

Dit is een echt perfect verhaal voor The Daily WTF. Het aantal WTF's kun je bijna niet tellen.
De WTF van The Daily WTF (heerlijke website trouwens) staat alweer een tijdje niet meer voor "Worse Than Failure", die naamsverandering is ongedaan gemaakt.

En, tja, WAXTRAPP, ik hoor er voor het eerst van eigenlijk. Het lijkt me een bedrijf zoals vele andere eigenlijk, veel marketing bullshit om het te verkopen, en uiteindelijk een product afleveren dat z'n werk verder doet en zodoende de klanten tevreden houdt.

Als je grote klanten wilt, dan moet je wel iets bieden dat anderen niet bieden (en dat is natuurlijk wel héél lastig) of pretenderen dat je dat doet. Zodra je de klant binnenhebt hoef je ze alleen nog maar te houden. :+

Door Tweakers user fl!pulI, dinsdag 18 november 2008 10:28

Geachte Rob,

Zeer interessant leesvoer. Zeker. Maar mijns inziens zijn de vermeenbare lekken niet bij beide genoemde partijen gemeld. Als ik hier fout zit, lees ik dat graag terug. Dan wetende dat ze inadequaat handelen met hun eigen informatievoorziening. [script]alert("boo")[/script] :P

Door Tweakers user RobIII, dinsdag 18 november 2008 10:39

Maar mijns inziens zijn de vermeenbare lekken niet bij beide genoemde partijen gemeld.
Er staat toch echt:
De heren en dames bij WAXTRAPP zijn inmiddels op de hoogte gebracht van dit "probleempje".
En nee, ik ga niet ieder projectje van ze uitpluizen om die stuk voor stuk te mailen, dat mogen ze zelf doen ;)

[Reactie gewijzigd op dinsdag 18 november 2008 10:40]


Door Tweakers user fl!pulI, dinsdag 18 november 2008 10:48

Ik noemde twee partijen. Blijkt dat ik nu pas snap dat pve onderdeel is van Waxtrapp. Ik begrijp dat je de XSS bug zelf gevonden hebt en Waxtrapp dat (ook) vermeld hebt. Nu vind ik ook dat je in je goed recht staat, zelf niet de getroffen klanten van Waxtrapp in te lichten.

Dit verhaal word vast vervolgd (al dan niet op de frontpage :))

Door Tweakers user RobIII, dinsdag 18 november 2008 10:51

pve.nl is (en alle andere genoemde sites zijn) geen 'onderdeel' van Waxtrapp zo ver ik weet; Waxtrapp heeft hun site ontwikkeld. Maar het is inderdaad niet aan mij hun klanten in te gaan lichten (then again: mogen ze blij mee zijn dat ik dat niet doe ;) ). De bug is 'zelf gevonden', voor zover je dat kunt zeggen maar ik kan er eerlijk gezegd ook niet met mijn hoofd bij dat het niemand anders is opgevallen. De frontpage zal het niet halen (los van het tweakblogs linkje :P ), daar is het niet nieuwswaardig genoeg voor. Er zijn ontelbare sites met een dergelijk lek; dit is gewoon een klein deel ervan.

[Reactie gewijzigd op dinsdag 18 november 2008 10:53]


Door Tweakers user NaliXL, dinsdag 18 november 2008 17:45

JAVA als webserver...ja dan heb je wel 52 servers nodig.
'Gebruikt u ook een Boeing 747 voor de boodschappen verderop? Ga dan nu groener shoppen en koop een auto van ons, u gaat gegarandeerd 100x minder brandstof gebruiken!'
Ik heb nooit serieus gebruikt gemaakt van Java op een webserver, maar ik denk dat wat je hier noemt op zijn minst schromelijk overdreven is, gezien het feit dat Java best wel gebruikt wordt voor webservers...

Door Tweakers user dvdheiden, dinsdag 18 november 2008 17:51

Buiten het feit dat ik je ongenoegen volledig deel, heb ik toch nog een vraag. Wanneer heb je eigenlijk waxtrapp heb ingelicht?

Door Tweakers user RobIII, dinsdag 18 november 2008 20:16

Voor het schrijven van dit blog. De XSS fout (degene die ik vond en hier beschrijf) is niet dusdanig ernstig dat er een 30-dagen wachttijd op hoeft, IMHO, als je dat bedoelt.

[Reactie gewijzigd op dinsdag 18 november 2008 20:17]


Door Tweakers user TeeDee, dinsdag 18 november 2008 22:05

Zo te zien hebben ze het al gefixed bij bijvoorbeeld papendrecht.nl.

Op een andere noot: RobIII, zo ken ik je niet, stevig van leer trekken.

Aan de andere kant (of nog een andere noot); zulke dingen dienen aan de kaak gesteld te worden en zeker bedrijven die een aantal grote, baude uitspraken doen.

Door Tweakers user RobIII, dinsdag 18 november 2008 22:55

Op een andere noot: RobIII, zo ken ik je niet, stevig van leer trekken.
Ik ben online vaak erg gematigd, maar dat is juist omdat met geschreven taal erg lastig goed mijn emotie of 'drive' over te brengen is. Ik ben iemand die erg geanimeerd en met veel lichaamstaal praat (al zeg ik het zelf) en heb vaak (een beetje) moeite met iets goed onder woorden te brengen. Vandaar ook dat ik soms wat langdradig ben. Mensen die mij IRL kennen weten dat ik ont-zet-tend kan ranten op vanalles en nog wat :P Desalniettemin was dit voor mij ook een first ja :P
Aan de andere kant (of nog een andere noot); zulke dingen dienen aan de kaak gesteld te worden en zeker bedrijven die een aantal grote, baude uitspraken doen.
Ik had het niet aan de kaak gesteld en niet eens 'blogwaardig' gevonden als ze niet zo hoog van de toren hadden geblazen met complete klinklare onzin; het was juist daarom dat ik eens wat tegengas wou geven en zaken in perspectief zetten.

[Reactie gewijzigd op dinsdag 18 november 2008 22:57]


Door Tweakers user TeeDee, dinsdag 18 november 2008 23:12

offtopic:
Gelukkig ken ik je niet IRL (wanneer gaan we weer eens BBQ-en, en dan ben ik er wel bij) :)

* TeeDee rent.

Serieus: het italic juist is voor mij ook vaak een reden om iets te zeggen.
Grote mond, grote afgrond. Mits terecht. En dat is vooralsnog in dit geval..... het geval.

Door Tweakers user RobIII, woensdag 19 november 2008 14:53

Zojuist een telefoontje gehad van Bas Groot; voor zover ik begreep directeur(?) van WAXTRAPP. Hij was nieuwsgierig naar wie ik was en wilde, denk ik, eens peilen wie er tegenover hen stond. We hebben even een kort (en prettig) gesprekje gehad en er wordt beterschap beloofd.

Hoewel ik nog steeds mijn vraagtekens zet bij de manier waarop (volgens Bas "een filtertje zetten en dus de zoekstring ontdoen van ongeldige tekens" in plaats van gewoon simpel escapen) blijkt deze blog dus effect gehad te hebben en is de wereld weer een stukje mooier. _O_

Vermoedelijk was het (wellicht niet zo bedoeld) ook wel een beetje een 'damage control' telefoontje, maar ik heb wel ook (dat moet gezegd) mijn excuses aangeboden voor de wat lompe mail die ik hen had gestuurd; ik heb voor het schrijven van deze blog een email naar hen gestuurd die ik achteraf bezien dus beter wat anders had kunnen formuleren.

Mails met eenzelfde strekking (doorgaans wel beter geformuleerd) heb ik al aan talloze bedrijven gestuurd met (uiterst) zelden een reactie (bijvoorbeeld Neckerman*, UPC en nog een aantal anderen). Het feit dat er nu op zulk een korte termijn gereageerd wordt is toch wel netjes. Of het adequaat is zullen we moeten bezien :)

* Bij Neckerman was indertijd het probleem dat er op een HTTPS pagina afbeeldingen werden geladen via een cross-domain over 'plain' HTTP; welke in IE nogal wat waarschuwingen veroozaakt en het orderproces danig dwars zit. 3(!) weken na melding ontving ik een "we zullen er naar kijken" en daarna nooit meer iets gehoord en geen verbetering gezien; ik weet niet of het nu nog het geval is. ... check ... ja dus, hoewel het (op dit moment) nog maar 1 afbeelding is i.t.t. de 3 of 4 indertijd :X |:(

[Reactie gewijzigd op woensdag 19 november 2008 15:07]



Door Bas Groot, woensdag 19 november 2008 19:41

Hallo allemaal, ik ben de directeur van WAXTRAPP.

Ik kreeg een mailtje van Rob en van iemand anders het URL van deze blog geforward.
Ik dacht: laat ik 'm gewoon opbellen. Ik was nieuwsgierig. En bij polemiek is bellen veel zinvoller dan schrijven.

Ik heb een bijzonder leuk gesprek met hem gehad.

Nog even ter completering voor de andere lezers van deze blog:

Naar aanleiding van zijn blog was hier intern ook wel wat discussie losgekomen. XSS was vroeger zeldzaam voor ons, omdat de meeste dingen automatisch al door allerlei escape-filters heen gingen. Dat is door de jaren heen hier en daar anders geworden.

Het had door die historische groei niet zo'n hoge prioriteit. Een XSS hack bedreigt immers niet de integriteit van de WAXTRAPP server, maar is een manier om je exploit te verpakken en te laten lijken alsof je vanuit een spammetje naar een 'veilige' site surft. De feitelijke exploit is meestal een lek in IE6 wat je op talloze manieren kunt gebruiken. Bijvoorbeeld zo'n exploit gewoon in een hele vieze sekssite verstoppen. :-)

Blijft dat het beter is als onze sites zich daar niet voor lenen. Zeg ik er wel bij: als we nou de hele dag de krant zaten te lezen zouden we best ff alles kunnen fixen, maar we hebben veel te doen en dat moet je afwegen.

Voor het overige:

Die discussie over verwijderen danwel escapen: door de interne werking van onze zoekmachine maakt niet uit of je escape of verwijder methode kiest.

Die 52 java servers: ik refereer aan een echt bestaande site. 52 servers komt vaak voor, is geen Boeing 747. Mijn punt is: kies je voor bedrijf X dan smijten ze met hardware om domme software te compenseren, kies je voor ons dan kunnen we heel ver gaan op 1 server, door onze snelle, slimme software. Fijn voor de kosten, fijn voor 't milieu.

Dat milieuverhaal: Ik heb er uitgebreide research voor gedaan, en mijn berekeningen gebaseerd op een aantal wetenschappelijke rapporten en en officiële technische gegevens van een aantal bekende bedrijven en instellingen. De werkelijke energieverspilling van alle Nederlandse websites bij elkaar is huiveringwekkend, daar vallen spaarlampjes bij in het niet.

Dat we XHTML gebruiken is simpelweg vanwege het voldoen aan overheidsrichtlijnen. Onderscheidend kenmerk voor ICT beslissers in overheidsland. PVE: score 120 uit 125. Niet vanwege hip.

Boude uitspraken op de site? Jazeker! De doelgroep is decision makers, ict managers, marketeers en aanverwanten, niet webdevelopers. Die willen weten hoeveel servers je uitspaart met snelle software. Ze begrijpen heus wel dat zoiets grosso modo mits en maar is.

Rob motiveerde waar hij nou zo'n moeite mee heeft. Klanten laten zich makkelijk betoveren door gladde marketingpraatjes van zo'n snelle jelle met een hippe zonnebril in zijn haar en een roze polootje. De eerlijke eenpitter wordt onterecht aan de kant geschoven. Herkenbaar. Ik ben ook als eenpitter begonnen in 1996.

De werkelijkheid: decision makers willen een gesprekspartner die meedenkt in doelstellingen, oplossingen en hoofdlijnen, en bewust de toch niet te begrijpen technische mumbojumbo tot het absoluut noodzakelijk minimum beperkt. Er is beslist een overlap tussen die twee percepties overigens.

Rob bood zijn excuses aan voor zijn aanvallende schrijfstijl.
Was ik niet op uit, maar evengoed chic en sportief! Hulde!

Vertelde verder dat hij waarschijnlijk de komende tijd nog wel meer polemieken over 'foute' bedrijven gaat schrijven. Wordt vast lachen!

Door Bas Groot, woensdag 19 november 2008 20:08

Oh ja, vergat ik nog: die site van 52 servers is qua features, zwaarte en complexiteit absoluut vergelijkbaar met een grote high traffic site van ons, alleen ik ga niet zeggen welke site het dan is. Dat vind ik niet professioneel en irrelevant. Maar het is dus niet uit de duim gezogen. Dat men het niet gelooft komt echter vaker voor...

- het kan bijvoorbeeld zijn dat de klant voor heel veel euri eist dat zelfs wanneer zijn volledige doelgroep tegelijk de site bestormt, hij ook snel moet blijven. Dan ga je voor de zekerheid heel veel hardware neerzetten.

- of als je een site hebt waar veel personalisatie in zit en snel veranderende real-time informatie, maar die wel door hele ingewikkelde XSLT transformaties wordt opgebouwd en zo door nog wat DOM-parsers, XPATH queries en Java-abstractielaagjes per pageview heen moet worstelen, bovenop een evolutionair gegroeid databasemodel met veel sub-sub-subqueries, dan, zit je in een mum van tijd aan lange responstijd en heb je tientallen servers nodig om dat vlot te houden bij hoge belasting.

Is dat 'gaar' of is dat normale webdevelopment zoals dat bij grote bedrijfssites vaak gaat?

Door Tweakers user RobIII, woensdag 19 november 2008 21:14

Oh ja, vergat ik nog: die site van 52 servers is qua features, zwaarte en complexiteit absoluut vergelijkbaar met een grote high traffic site van ons, alleen ik ga niet zeggen welke site het dan is. Dat vind ik niet professioneel en irrelevant. Maar het is dus niet uit de duim gezogen. Dat men het niet gelooft komt echter vaker voor...
Ik geloof best dat er 52 servers vervangen zijn door 1 (of 2 of...); en ook best dat het qua features hetzelfde is gebleven (of vergelijkbaar of...). Maar je kunt niet ontkennen dat de site welke in dat geval 52 (ik neem aan vergelijkbare) servers benodigde om hetzelfde werk te doen dan wel van, zacht gezegd, erg matige kwaliteit is geweest. Wie die site heeft gebouwd en welke site het was doet er niet toe, maar het wil er bij mij niet in dat die site optimaal was. En dan komen die appels en peren om de hoek kijken en, ja, dan is in mijn ogen die site 'gaar' geweest.

Het is echter wat kort door de bocht om dat op "Java of andere 'trage' platforms" te gooien. Java heeft er in deze geen fluit mee van doen (althans: niet als het zo'n excessief groot verschil is); de oorzaak moet in de implementatie van het project hebben gelegen, niet aan de taal of het platform.

Helaas, en daar is TheDailyWTF inderdaad een prachtig dagelijks voorbeeld van, is het inderdaad wel vaak werkelijkheid. Ook dat zal ik niet ontkennen. Of dat onder 'zoals dat bij grote bedrijfssites vaak gaat' valt zal ik ook helaas moeten beamen. Of dat onder 'normaal webdevelopment' valt? Ik mag hopen van niet :X

Over dat eenpitter verhaal; ik heb samen met een collega een goedlopend bedrijfje en het raakt ons niet eens omdat we in een hele andere tak van de sport zitten (VoIP). Websites zijn ooit voor mij mijn boterham geweest maar het is zeer zeker niet meer iets waar ik mijn geld (grotendeels) mee wil verdienen. Of ik het kan is een tweede trouwens :P ;) Wat ik aangegeven heb is dat ik me kan opwinden over 'grote jongens' of 'grote bedrijven' welke absurde beweringen doen en daarmee de 'eerlijke jongens' (die, naar mijn persoonlijke ervaring, vaak kwalitatief beter werk leveren) tekort doen. En dan heb ik het niet over de 'eenmanszaakjes' ofzo; gewoon de webdevelopers in een kleine tot middelgrote onderneming die geen gebruik (of misbruik) maken van de goedgelovigheid van een potentiële klant. Het is echter helaas, vooral in het webdevelopment gebeuren, een dog-eat-dog world en het stemmetje in mijn hoofd weet ook wel dat je dan soms wat moet doen om met je kop er boven uit te steken.

Zand erover, kusje erop en doorploeteren. Morgen weer een dag :w

[Reactie gewijzigd op woensdag 19 november 2008 21:26]


Door Tweakers user RobIII, woensdag 19 november 2008 21:40

Het had door die historische groei niet zo'n hoge prioriteit. Een XSS hack bedreigt immers niet de integriteit van de WAXTRAPP server, maar is een manier om je exploit te verpakken en te laten lijken alsof je vanuit een spammetje naar een 'veilige' site surft. De feitelijke exploit is meestal een lek in IE6 wat je op talloze manieren kunt gebruiken. Bijvoorbeeld zo'n exploit gewoon in een hele vieze sekssite verstoppen. :-)
Oh, hier nog even op terugkomend: een XSS exploit kan wel degelijk serieuze gevaren opleveren. Zo kan een XSS exploit gebruikt worden voor phishing doeleinden, het stelen van cookies/sessies, het injecteren van kwaadaardige HTML etc.
Een gevaar is bijvoorbeeld dat een bepaalde site in een 'vertrouwde zone' is opgenomen van de browser waardoor de site meer privileges heeft dan andere sites. Hierdoor kan met een XSS attack de 'vertrouwensrelatie' behoorlijk schade oplopen. Gaat het om sites met gevoelige informatie dan kan die informatie dus nét zo goed op straat komen te liggen. Ik 'ruik' toch een beetje nonchalance en ik denk dat die niet helemaal terecht is. Sekssites en 'spammetjes' zijn in dat geval nog onschuldig. Ook doet de browser (IE6 welke hier aangehaald wordt) er niet toe; sterker: de browser kan er niets aan doen omdat de inhoud van de site zélf lijkt te komen; ook al is dat niet zo. Als je de links in dit blog met een willekeurige andere browser bekijkt zul je exact dezelfde 'boe' melding zien. Als (kleine) illustratie kan ik de inhoud van het cookie van renkum.nl tonen; het is een kwestie van fantasie van de 'hacker' om dan te verzinnen hoe je die inhoud 'steelt'. Needles to say dat dit toch wel degelijk een serieus lek is. Ik weet niet wat er achter de 'login' van renkum.nl zit maar tel 1 en 1 op en concludeer zelf wat het gevaar van deze XSS hack is. En vergeet niet dat deze hack wellicht niet direct een gevaar oplevert voor de integriteit van de WAXTRAPP server, maar wel degelijk indirect.

Zie voor meer informatie (o.a):
http://en.wikipedia.org/wiki/Cross-site_scripting (vooral Exploit scenarios)
http://en.wikipedia.org/wiki/Same_origin_policy (wat dus potentieel omzeild kan worden)

[Reactie gewijzigd op woensdag 19 november 2008 21:48]


Door Tweakers user Creepy, donderdag 20 november 2008 11:27

Bij een platform als Java heeft u met gemak 52 servers nodig
100% uit de lucht gegrepen en totale onzin. Noem dan het pakket en de site die de 52 servers nodig hadden. Dit heeft niks met de "traagheid van java" te maken maar met de ontwikkelaar van de site.
Boude uitspraken op de site? Jazeker
Totaal onzinnige uitspraken. Jammer dat niet technische mensen er in trappen want het is echt totale onzin. Hier op dit blog nuanceer je de uitspraken al maar op jullie website blijven ze vrolijk staan.

Iedereen kan zelf wel verzinnen dat als je 52 servers vervangt door 1 dat je "groener" bezig bent. Maar dat je 52 servers nodig hebt omdat er Java wordt gebruikt is echt onzinnig.

Door Tweakers user Creepy, donderdag 20 november 2008 11:29

De werkelijkheid: decision makers willen een gesprekspartner die meedenkt in doelstellingen, oplossingen en hoofdlijnen, en bewust de toch niet te begrijpen technische mumbojumbo tot het absoluut noodzakelijk minimum beperkt. Er is beslist een overlap tussen die twee percepties overigens.
Je verkoopt nu deels onwaarheden, en dat is jammer. Je kan ook een niet technisch persoon wel uitleggen dat als iets 52 servers nodig heeft de software niet goed is opgezet. Leg dan wel de "schuld" daar waar hij hoort, en niet bij "Java" of andere gebruikte technieken.

Door Tweakers user LuckY, donderdag 20 november 2008 13:06

@ WAXTRAPP / Bas Groot ,

Is er een mogelijkheid dat die documenten openbaar gemaakt worden en of al openbaar zijn ?
En zo ja , Kan er dan een link geplaatst worden ?

Tevens vraag ik me af of er dan ook daadwerkelijk wel op security wordt getest.

Door Bas Groot, donderdag 20 november 2008 14:15

De discussies over java: gelezen, ieders visie bevat een kern van waarheid. Case closed wat mij betreft, anders ga ik mezelf herhalen. Genoeg informatie om elke geletterde lezer zijn eigen oordeel te laten vormen.

Wat betreft XSS en cookies; zonder in detail te treden, in WAXTRAPP kun je niks met andermans cookies. Alles gebeurt serverside.

Als je dan de Wiki lectuur erbij pakt, is er nog een betrekkelijk vergezochte mogelijkheid die vooral in derdewereldlanden (waar complete landen achter dezelfde proxy zitten) een theoretisch risico vormen, maar die kans is in het westen volgens mij nihil.

Alle andere dingen die ik zie staan zijn niet van toepassing of buiten de macht van de webbouwer überhaupt (zoals unencrypted HTTP verkeer op een proxy onderscheppen)

Maar goed... het is netjes om het te dichten, zodat men in elk geval niet sites van ons kan misbruiken om een ander schade te berokkenen.

Door Tweakers user Korben, donderdag 20 november 2008 15:20

Wat betreft XSS en cookies; zonder in detail te treden, in WAXTRAPP kun je niks met andermans cookies. Alles gebeurt serverside.
Misschien hoef je ook niks met andermans cookies. Als een site XSS toestaat kun je al een heleboel door misbruik te maken van een bestaande sessie en het geïnjecteerde script de navigatietouwtjes in handen te laten nemen.

Om het hele 52-servers-verhaal nog een draai te geven; om 52 servers überhaupt te rechtvaardigen voor een website (dus geen webapplicatie) moet je toch wel gruwelijk zware dingen doen in die website. Een voorbeeld wat ik vaker in discussies aanhaal: microsoft.com serveert dagelijks meer dan een kwart miljard pageviews, en draait op 80 servers. Bij een lineaire schaalbaarheid zou dat betekenen dat om 52 servers te rechtvaardigen je toch meer dan 160 miljoen pageviews per dag moet hebben.

Door Tweakers user RobIII, donderdag 20 november 2008 18:08

Wat betreft XSS en cookies; zonder in detail te treden, in WAXTRAPP kun je niks met andermans cookies.
Je weet dat sessies ook in 'cookies' bewaard worden?
Alles gebeurt serverside.
D'uh. Maar wat heb je daar aan als ik een sessie hijack? Met de juiste sessie in handen kan ik doodleuk de wijzigingen doorvoeren die een ander (wel gemachtigde gebruiker) zou kunnen doorvoeren.
Als je dan de Wiki lectuur erbij pakt, is er nog een betrekkelijk vergezochte mogelijkheid die vooral in derdewereldlanden (waar complete landen achter dezelfde proxy zitten) een theoretisch risico vormen, maar die kans is in het westen volgens mij nihil.
Zo'n beetje ieder bedrijf, school en gemeente of andere organisatie met 2+ computers in Nederland maakt gebruik van een (NAT) gateway waar alle verkeer langs komt; dat verkeer is prima te sniffen en bij zo'n gateway komen is op sommige plaatsen makkelijker dan je denkt. En dan heb ik het nog niet over hubs (i.t.t. switches) die nog overal in gebruik zijn. Of proxies als filternet, proxies die bij providers (al dan niet transparant) draaien en ga zo maar door welke ook een risico lopen gehackt te worden. Dat heeft niets met derdewereldlanden te maken en het 'nihil' risico is dus, wederom :P , grof overdreven. Het risico is wel degelijk reëel.
Maar goed... het is netjes om het te dichten, zodat men in elk geval niet sites van ons kan misbruiken om een ander schade te berokkenen.
Het is niet alleen netjes om te dichten maar noodzaak. Ik bespeur nog steeds een bepaalde nonchalance en jullie onderschatten het probleem schromelijk. En dat is nog zacht gezegd.

[Reactie gewijzigd op donderdag 20 november 2008 18:15]


Door Bas Groot, donderdag 20 november 2008 20:01

Beste Rob,

Voorlopig de laatste reactie, want ik ga ff met vakantie.

Hoe serieus of luchtig we dit oppakken: We zullen eerder achteraf dan vooraf mededelingen doen over security verbeteringen, zoals elk verstandig en ter zake kundig softwarebedrijf. Ik ga niet net zolang uitspraken doen tot het jouw goedkeuring kan wegdragen qua achterwege laten van luchtigheid. Wacht nou maar gewoon af.

Je webapplicatie gaan beveiligen tegen wat je allemaal kan als er is ingebroken op routers, netwerken of computers, dan kan je aan de gang blijven. Ik weet gerust wel dat er ontzettend veel natjes en lokale netwerkjes zijn met fabrieks-passwords, maar die zijn relatief klein (vgl met de NATs in China of India) en relatief specifiek, dus dan heb je het over gericht aanvallen en niet over toevalstreffers van scriptkiddies, wat gek genoeg een groter gevaar is.

Maar na een inbraak kun je als webapplicatie gewoon niet zien of het de inbreker of de echte gebruiker is die bij je aanklopt. En zoals de wiki terecht stelt, tokens en dongles bieden dan ook geen veiligheid meer, als er op kundige wijze op je PC is ingebroken.

Qua session hijacking volsta ik met de mededeling dat wat in die Wiki staat voor ons allemaal bekende dingen zijn en we de aanbevelingen allang in de praktijk brengen. Voorzover een webapplicatie dat kan, want als iemand zonder HTTPS te gebruiken zijn verkeer laat intercepten of sniffen, en zijn computer vol met trojan-rotzooi heeft staan, dan is XSS ook een gaatje in een boot die al doormidden is.

En als je dan toch bij Filternet-leden op hun PC inbreekt, het veel leuker om te kijken of je de dirs kunt vinden waar ze hun porno bewaren en die stiekem allemaal vervangen door foto's van de teletubbies, vooral die paarse met dat damestasje.

Jongens, ik ga met vakantie. We werken eraan. Later meer.

Door Tweakers user RobIII, zaterdag 22 november 2008 00:40

Fijne vakantie! :w :+

[Reactie gewijzigd op zaterdag 22 november 2008 00:41]


Door Tweakers user NMe, zondag 23 november 2008 00:56

Ik zou niet lekker op vakantie durven gaan met zo'n lekken in mijn product, maar goed, dat is jouw eigen keuze natuurlijk. ;)

Door Tweakers user BlackWhizz, zondag 23 november 2008 19:48

Damn, dat is echt super slecht. Iedere beginnende programmeur let toch op het escapen van user input.

Regel 1: NEVER TRUST USER INPUT.

Door Tweakers user RobIII, woensdag 26 november 2008 02:33

En inmiddels zijn we een week verder en is nog geen enkele site uit dit blogitem gefixed. En het is zo simpel op te lossen...

[Reactie gewijzigd op woensdag 26 november 2008 02:33]


Door Bas Groot, zaterdag 24 januari 2009 23:32

Korte update over een oud verhaal:

Inmiddels hebben we zoveel mogelijk XSS fouten op alle momenteel draaiende WAXTRAPP sites opgespoord en gefixt. Het zou kunnen dat we er nog een paar gemist hebben (we hebben honderden sites gebouwd in 13 jaar tijd, dat los je niet in een weekje op). Maar ik ga er vooralsnog vanuit dat we er hiermee wel zijn. In nieuw te bouwen sites gaat het sowieso geen rol meer spelen want dan gebruiken we de gefixte basisprogrammatuur.

Met wel 1 opmerking: Veel klanten integreren hun eigen web-applicaties met WAXTRAPP. Eventuele XSS kwetsbaarheden aldaar hebben wij geen invloed op, behalve dan zo'n klant waarschuwen.

Voor de Googelende leek: XSS betekent een kwaadaardig javascript kunnen uitvoeren terwijl je als gebruiker naar een bonafide site aan het kijken bent. De server in kwestie wordt niet binnengedrongen.

Door Bas Groot, zondag 25 januari 2009 00:31

Verder werd nog de suggestie gewekt, dat WAXTRAPP kwetsbaar voor SQL injectie zou kunnen zijn; blogger in kwestie heeft dat niet geprobeerd, zegt ie nog. Had ie dat wel gedaan dan had ie geweten dat het helemaal niet kan.

Om SQL injection überhaupt te kunnen doen, moet je ergens een plek in je systeem hebben waar een stringvariabele aan de SQL API functie gevoerd wordt, die deze string interpreteert en executeert alsof met een terminal op mysql ingelogd bent. Dat is nergens in WAXTRAPP. We werken met een veel lowleveler interface met parameter bindings en geserializede binaire data. Anders dan in veel MySQL toepassingen wordt nergens een string geconcateneerd tot een SQL statement. En de inhoud van de parameters wordt sowieso nooit geïnterpreteerd bij parameter bindings in SQL, en kunnen dus nooit SQL statements beïnvloeden. Nog even los van het feit dat de storage layer voor de bovenliggende scripting layer helemaal transparant en onzichtbaar is.

Door Tweakers user NMe, maandag 26 januari 2009 22:05

Je laatste post heeft verdomd veel buzzwords en verdacht weinig inhoudt. Je zegt een hoop maar uiteindelijk vat ik het samen als een aardig omslachtig systeem. Tekstuele data binair opslaan? Leuk als je ergens op wil zoeken; kun je eerst alles uit je database gaan trekken, unserializen en dáárna pas een gerichte search doen. Maar het gaat wel SQL injectie tegen! Knap bedacht. ;)
Met wel 1 opmerking: Veel klanten integreren hun eigen web-applicaties met WAXTRAPP. Eventuele XSS kwetsbaarheden aldaar hebben wij geen invloed op, behalve dan zo'n klant waarschuwen.
Tsja, als je de gevaren niet in wil zien van cross site scripting, dan moet je het zelf weten. Totdat ik iemand's sessie overneem (bij voorkeur die van een admin natuurlijk) met een leuke hack, om daarna spam en vernielingen aan te richten. Kun je daarna aan je klanten uitleggen waarom je daar niet eerder wat aan hebt gedaan. Het is niet alsof XSS nieuw is...

Door Tweakers user curry684, maandag 26 januari 2009 23:15

We werken met een veel lowleveler interface met parameter bindings en geserializede binaire data.
Dus wat je feitelijk zegt is dat je alle voordelen als doorzoekbaarheid en indexering van een database overboord gooit door er serialized classes in te stoppen en alleen nog de nadelen, zoals de traagheid van SQL query compilations, execution plan optimizations e.d. overhoudt voor een eindresultaat wat feitelijk performanter zal zijn indien geplaatst in een simpele hierarchische directorystructuur op een modern filesystem?

Door Tweakers user curry684, maandag 26 januari 2009 23:31

Wanneer gaat eigenlijk die groen-is-goed onzin een keer van de site? Iedereen die een half woord van techniek begrijpt lacht zich alleen maar dood om die tekst en die onzin over die 52 servers, dus tenzij je met een solide toelichting gaat komen welke enorm slecht geprogrammeerde Java-site de vergelijking hier betreft is het hele stukje alleen maar ridicule antireclame.

Dat je met Java over het algemeen minder users-per-server kan bedienen dan met WAX... erm ik bedoel PHP is een gegeven dat weinig mensen in twijfel zullen trekkken, maar het staat allereerst erg knullig dat je voordelen van je onderliggend platform aan je eigen produkt correleert zonder toe te lichten dat 80% van de websites op deze wereld PHP gebruikt en ten tweede dat je er even aan voorbij gaat dat je appels en peren aan het vergelijken bent door een fault-tolerant managed omgeving tegenover een ros-maar-wat-in-elkaar-als-je-je-verveelt omgeving als PHP te stellen. Ik gebruik dagelijks PHP en weet hoe performant het is, maar het platform is ook zo brak als wat waardoor de uitwerpselen van de beginnende PHP-prutser massaal stijf staan van XSS-leaks e.d. Je weet wel, min of meer zoals WAXTRAPP. Een meer solide enterprise platform dat dubbel zoveel servers gebruikt had je wellicht wat vernederingen op dat gebied bespaard, ten koste van 1 of 2 boomknuffelaars.

Door Tweakers user RobIII, maandag 26 januari 2009 23:32

:D Je haalt me de woorden uit de mond. Het lijkt ook wel een kunst om 'parametrized queries' te doen voorkomen als "the best thing since sliced bread" en dat ook nog eens héél moeilijk te doen klinken. Sorry, maar ik kan het hele zaakje gewoon niet (meer) serieus nemen. Niets persoonlijks ofzo overigens.

[Reactie gewijzigd op maandag 26 januari 2009 23:43]


Door Tweakers user MueR, dinsdag 27 januari 2009 09:36

Dit is niet goed voor bij ochtend koffie. Hoe leg ik aan mijn baas uit dat er allemaal koffie over mn laptop druipt?

Maar wat je feitelijk zegt is dat jullie een onbreekbaar systeem hebben omdat je een geniaal systeem bedacht hebt om SQL injection te voorkomen?

Door Tweakers user DNA_Saint, donderdag 14 mei 2009 17:53

Lees dit nu pas, maar hulde Roblll!!
Irriteer mij soms ook aan bedrijven die van alles beweren, maar gewoon geschoten lucht is.

Reageren is niet meer mogelijk