Hoofdcategorieën

Meer applicaties gevoelig voor uri-lek

Door Dimitri Reijerman, woensdag 18 juli 2007 14:09
Bron: Vnunet, submitter: Alex), views: 11.916

De basistechniek uit de 'cross-browser-bug' die onlangs werd ontdekt, is niet alleen geschikt om Firefox te misbruiken. Ook de messenger Trillian struikelt op de manier waarop Internet Explorer protocol requests naar andere programma's stuurt.

Trillian-logoVeiligheidsonderzoekers Nate McFeters, Billy Rios en Raghav Dube beschrijven twee lekken die zij aantroffen in de instant messenger Trillian. De drie laten tevens voorbeeldcode zien. Beide lekken hebben betrekking op de manier hoe Trillian met aim://-uri's omgaat. Aanvallers kunnen een aangepaste uri construeren en deze op een webpagina plaatsen. Wanneer een gebruiker in Internet Explorer de link aanklikt, kan een hacker via het lek van Trillian ongemerkt kwaadaardige code op de pc van het slachtoffer uitvoeren. Op dit moment bestaat er nog geen patch om het lek te dichten. De onderzoekers verwachten dat de exploit ook in andere applicaties gebruikt kan worden, en roepen software-ontwikkelaars op om uiterst voorzichtig te zijn met het verwerken van uri's in applicaties. Mozilla heeft ondertussen niet gewacht op een patch van Microsoft om de uri-bugs in Internet Explorer te dichten; het bedrijf heeft, zoals aangekondigd, zelf een beveiligingsupdate voor Firefox uitgebracht.

Volgende 14:44
Vorige 13:13

Reacties

«  1  2  »

kunnen we nog een IE bug fix verwachten? volgens mij toch deels ook hun probleem. :X
Ps. net de bug even "getest" (bedankt voor de link Smithers.83) met Firefox 2.0.0.5 en het werkt niet meer _/-\o_
BEWIJS:

[Reactie gewijzigd door DummyXL op woensdag 18 juli 2007 14:40]


"It's not a bug... It's a feature!"

Het is geen IE bug, iedere applicatie moet gewoon alle input controleren.

Het is wel een IE bug omdat IE de input zelf niet controleerd.
De input is namelijk remote content die vervolgens lokaal iets uitvoert.
Iets vanuit het remote domain word doorgestuurd naar een local domain.
Dit is gewoon net zoiets als het gebruiken van file:///.
Het is ok als de source ook in de local domain zit.

(note: domain word niet bedoelt als in DNS domain).

[Reactie gewijzigd door elmuerte op woensdag 18 juli 2007 15:25]


Daar gaan we weer.
Het is geen IE bug, en er wordt geen remote content uitgevoerd. Waar het om gaat is dat IE tekens toelaat in URIs die officieel niet mogen. Dat dat zo is maakt het nog geen bug (een vervelende feature at most), maar betekent des te meer dat je als applicatie zorgvuldiger moet zijn met wat je binnenkrijgt.

De meeste applicaties installeren hun URI handler simpelweg als "app.exe %1", waarbij de gehele URI op de plek van de %1 op de command-line wordt gezet. Hierdoor is het mogelijk om, dmv spaties en andere tekens in de URI, extra command-line parameters mee te geven door spaties in de URI te zetten. Aangezien developers dit gewoon kunnen weten, kunnen ze er ook voor zorgen dat je via zo'n URI geen extra command-line opties kunt geven door ze gewoon niet te parsen. Of, ipv een command-line manier, gewoon een shell object te registreren dat zorgt voor de afhandelijk, waardoor command-line opties al niet eens meer mogelijk zijn.

Nu de manier aanpassen hoe IE met URIs omgaat sloopt waarschijnlijk een hoop applicaties die op de "feature" rekenen. Die feature is raar, daar ben ik het mee eens, maar het is dus gewoon geen bug. Het is de bug van de applicatie die z'n input niet controlleert.

"De meeste applicaties installeren hun URI handler simpelweg als "app.exe %1","

Kortom, dat IE dat systeem van handlers registreren überhaupt aanbied is onveilig. Het feit dat naast Firefox nu ook Trillian hier een probleem mee blijkt te hebben geeft wel weer aan dat IE hier de schuldige is door software op dergelijke onveilige manier hun handlers te laten registreren.

Het IE-systeem werkt alleen als de applicatie een specifiek .exe-bestand maakt dat alléén URLs als input accepteerd, en verder niks. In alle andere situaties (dwz. firefox.exe of trillian.exe ervoor gebruiken waar je ook andere commandline-opties op kunt geven) is het vrijwel onmogelijk om dit op een veilige manier te gebruiken.

Als IE zijn input echter zou URL-encoden, dan was er geen vuiltje aan de lucht geweest, aangezien URLs geen spaties en aanhalingtekens kunnen bevatten, deze worden ge-escaped.

Maar dat doet IE dus niet, en blijkbaar hebben Firefox en Trillian dus incorrect aangenomen dat dat wel zo is. Desalniettemin is het IE hier die op deze manier onveilig gedrag ten toon stelt.

[Reactie gewijzigd door Grauw op woensdag 18 juli 2007 16:00]


maar als de applicaties het op deze manier aanroepen is er niets aan het handje en kunnen ze de input perfect controleren door alles wat achter uri komt als uri te parsen:

"app.exe -uri %1"

Naast de command-line is er ook vaak nog een DDE bericht als de applicatie al open staat. Hopelijk zit daar ook geen fout in.

Kortom, dat IE dat systeem van handlers registreren überhaupt aanbied is onveilig.
Ik geloof dat niemand beweert dat het veilig is. Maar het bestaat nu eenmaal and we just have to make do. IE nu aanpassen is, zoals ik al zei, geen optie. En het is by design - dat design kun je in twijfel trekken, maar daar ben je dan a) te laat mee, en b) is het irrelevant voor deze discussie. Het is iig geen bug, punt.
Het IE-systeem werkt alleen als de applicatie een specifiek .exe-bestand maakt dat alléén URLs als input accepteerd, en verder niks.
Onzin, verdiep je eens in de materie. Ik heb in mijn vorige post 2 alternatieven voorgesteld, het zou je sieren als je gewoon goed leest de volgende keer.

1) parse na de URI geen verdere command line opties. Alles wat na de URI op de command-line staat, hoort bij die URI. Als je app rekent op oude aanroepen, waarbij er na een (valide) URI nog parameters komen, dan kun je dat fixen door een extra command-line optie toe te voegen dat de doorgegeven URI mogelijk onveilig is: "app.exe -unsafe_uri %1". Bij een aanroept als "app.exe -unsafe_uri myprotocol://aap -noot -mies" wordt de URI geinterpreteerd als "myprotocol://aap -noot -mies". Problem solved.

2) maak geen gebruik van de relatief domme command line interface, maar doe het via een regegistreerd shell object. In plaats dat er een app wordt opgestart met command line parameters, wordt er een door jouw geimplementeerd COM object geinstantieerd, waaraan de URI middels een string parameter wordt doorgegeven. Uiteraard ga je in deze string verder geen command line arguments zitten parsen, want dat slaat nergens op - het is immers een URI. Problem solved.
Als IE zijn input echter zou URL-encoden, dan was er geen vuiltje aan de lucht geweest, aangezien URLs geen spaties en aanhalingtekens kunnen bevatten, deze worden ge-escaped.
URIs mogen sowieso geen spaties of quotes bevatten. IE wijkt daar by design vanaf. Dus pas het design aan, of laat het zoals het is, maar kom niet met halfgare oplossingen door maar eens opnieuw te gaan URL-encoden. Want dan worden tekens die al geurl-encode zijn, nogmaals geurl-encode
Maar dat doet IE dus niet, en blijkbaar hebben Firefox en Trillian dus incorrect aangenomen dat dat wel zo is.
Exact, dus daar ligt op dit moment de fout :)
Desalniettemin is het IE hier die op deze manier onveilig gedrag ten toon stelt.
Niemand beweert anders.

[Reactie gewijzigd door .oisyn op woensdag 18 juli 2007 16:16]


URIs mogen sowieso geen spaties of quotes bevatten. IE wijkt daar by design vanaf. Dus pas het design aan, of laat het zoals het is, maar kom niet met halfgare oplossingen door maar eens opnieuw te gaan URL-encoden. Want dan worden tekens die al geurl-encode zijn, nogmaals geurl-encode
Dan ben je als programma-bouwer goed bezig! Dan zou het programma een URL parsen die zich zowel wel en niet aan de regels houdt. Maar toch, als er al een programma is met rare features dan is het IE wel.

De meeste applicaties installeren hun URI handler simpelweg als "app.exe %1", waarbij de gehele URI op de plek van de %1 op de command-line wordt gezet.
Zelfs als dat het geval was voor firefox is het nog steeds een bug in IE.
Want IE heeft de URI standaard niet geimplementeerd als moet. Behalve dat het spaties niet encode, encode het ook niet de dubbel quote: "

Firefox (voor de bugfix) registeerd zijn URL handler als:
[code]
[HKEY_CLASSES_ROOT\FirefoxURL\shell\open\command\@]
C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url “%1″ -requestPending
[/code]
Nu is het:
[code]
C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -requestPending -osint -url "%1"
[/code]
Waarschijnlijk moet nu de -url per se als laatste zijn.

[Reactie gewijzigd door elmuerte op woensdag 18 juli 2007 18:18]


Volgens die RFC mag je tekens in een reeds bestaande URI helemaal niet encoden. Ofwel URI's horen altijd al goed ge-encode zijn. De meeste web url's zijn dat echter niet. daarom laten alle browsers ook nog correcte URI's toe. Het is dus echter volgens de RFC correct om deze onveranderd te laten. Het escapen van tekens in een bestaande URI kan namelijk de semantisch waarde van een URI aantasten.
(Of je unescaped web URI's zou moeten doorgeven is een andere vraag maar daar werken talloze web protocollen nu al mee)

Het is geen input in IE, het is output van IE naar FF, FF moet de input in dit geval controleren.

Nog een spinn-off van deze (oorspronkelijke) bug is:
http://www.heise-security.co.uk/news/92725

Tijdelijk oplossings is de URI handlers uit het register tijdelijk verwijderen, totdat er een patch is.

Niet allemaal hoop ik.
Er zijn ook talloze URI handlers die dagelijk worden gebruikt zoals
ftp:
maito:
http:
https:
telnet:

Ik vind het erg lastig om dit als lek te categoriseren. Lijkt een beetje op het vanaf de command line opstarten van applicaties. Door bepaalde parameters toe te voegen kan een onschuldig programma ook ineens kwaadaardig gebruikt worden.
IE de doorgegeven parameters voor andere programma's laten analyseren is natuurlijk ondoenlijk. Conclusie: deze hele feature vraagt om problemen of de mogelijkheden moeten zwaar uitgekleed worden (zoals per aan te roepen applicatie enkel enkele toegestane parameters toestaan).

Dit gaat om een protocol handler, niet om een normale aanroep. Als je zo'n protocol handler aan je applicatie toevoegt moet je natuurlijk wel om de veiligheid denken.

klopt een daarom snap ik ook niet dat men dit een IE bug noemt, - als je al kunt spreken van een MS fout - dan is dat meer een designe fout in windows URI registratie dan in IE of elke andere aplicatie, -

Vraag:
"wie kan er via firefox eens op zoek gaan naar de trilian versie om te zien of het klikken op de link in firefox andere resultaten laat zien als in IE ....
Ik verwacht dat de zelfde exploit dan ook mogelijk is, (tenzei Firefox geen uri ondersteunt?) (en het daarmee dus aantoont dat 't niet IE's fout is maar die van de URI implementatie...

En inderdaad het is zooo simpel om even te controleren op onveilige code in je command line input! Je moet toch ook kijken wat je commandline geeft.

firefoxurl://www.tweakers.net wordt geanalyzeerd en daar wordt uigehaald
->surf naar www.tweakers.net

als er dan firefoxurl://format C: staat dan is dit geen geldige website, dus negeren die input.

Je hoeft gebruiker niet eens te laten klikken, een asp.redirect (op IIS server) zou hetzelfde bij het inladen van de pagina al doen.

En toch wordt er weer gesuggereerd in het stukje dat het om een internet explorer fout zou gaan. Als applicaties die deze technologie gebruiken, nou gewoon netjes input valideren is het probleem zo uit de wereld.

Dus meerdere programma's doen het allemaal fout? |:( Wat opvalt aan dit probleem is dat die programma's één gemeenschappelijke deler hebben voor deze bug, namelijk Internet Explorer. Of zou MS weer eens andere visie hebben op het exporteren van data...?

[Reactie gewijzigd door Smithers.83 op woensdag 18 juli 2007 14:35]


En als jij op stap gaat en je de deur van je huis open laat staan en je komt thuis en je 40inch plasma tv is gestolen, dan geef je ook de schuld aan de politie...want die moet toch diefstal voorkomen/tegengaan. in de eerste plaats ben je zelf verantwoordelijk voor de veiligheid van je eigen spullen...en dus in mijn ogen moet een programma ook niet veronderstellen dat data verkregen vanuit een ander programma als veilig beschouwd kan worden. Waarom zou je anders uberhaubt nog een thuis een firewall nodig hebben...die heeft je internet provider immers ook.... |:(

Ik denk dat je het beter kan vergelijken met een samenleving waar er helemaal geen politie is. Als er dan uiteindelijk veel ingebroken blijkt te worden is het geen slecht idee om eens iets aan orde-handhaving te gaan doen ;)

Maar goed, analogieën lopen vaak spaak :P

Volgens mij geven de mensen hierboven de schuld aan de open deur, en jij aan de plasma tv :)

Voor er data doorgegeven wordt, zou het netjes zijn om deze te controleren. Dus eigenlijk lijkt dit probleem op het bouwen van de Erasmus brug, iedereen denkt dat de ander wel controleert of het allemaal klopt.

en waarop zou jij dat wille controleren dan, denk je nu echt dat een IE DEV inzicht in wat de trilian gasten als wenselijke data beschouwen, - ja dat kun je krijgen ja, misschien moete alle IE dev lid worden van minstend 100 mailing lists per persoon om te weten welke URI er allemaal op de wereld bestaan en welke data die wel en niet wille hebben...

en waarop zou jij dat wille controleren dan, denk je nu echt dat een IE DEV inzicht in wat de trilian gasten als wenselijke data beschouwen, - ja dat kun je krijgen ja, misschien moete alle IE dev lid worden van minstend 100 mailing lists per persoon om te weten welke URI er allemaal op de wereld bestaan en welke data die wel en niet wille hebben...
Dat is simpel, gewoon op standaard regels van een URI, want dan kan er niet veel mee misgaan. Jiriki bedoelt er waarschijnlijk dan ook mee dat je controleert of het om 'valide' data gaat en niet om nuttig te gebruiken data.

Alle andere browsers hebben ook last van deze bug..

Dat ben ik niet met je eens, zo moeilijk is het namelijk niet om dit vanuit Internetexplorer aan te passen.

Als ik een URI handler registreer voor laten we zeggen tweaker:// dan kan IE wel degelijk voor een goede afhandeling zorgen. Het enige dat IE hoeft te doen is het escapen van de quotes in de invoer.

Dus als tweaker:// via de URI-handler tweakers.exe -uri aanroept dan moet IE mijns inziens het volgende doen:

tweakers://userprofile/littlepenguin" -iets moet dan door IE als volgt aangeleverd worden: tweakers.exe -uri "tweakers://userprofile/littlepenguin"" -iets"[1] en niet zoals nu gebeurt tweakers.exe -uri tweakers://userprofile/littlepenguin" -iets.

Maar goed, blijkbaar vind een deel van de programmeurs in Redmond wat anders - hoewel de auteurs van Outlook er dus van uitgaan dat optie [1] de juiste is...

[Reactie gewijzigd door Little Penguin op woensdag 18 juli 2007 14:39]


Het gaat er volgens mij niet om of Internet Explorer het kan. Het probleem is dat als je dit toevoegd, dan betekend het dat je een bepaalde functionaliteit weghaald omdat het potentieel onveilig is (bij programma's die zelf slecht zijn geprogrammeerd).

Ik vind niet dat bepaalde functionaliteit weg moet worden gehaald omdat bijvoorbeeld Firefox of AIM slecht is geprogrammeerd.

Het probleem is dat als je dit toevoegd, dan betekend(sic) het dat je een bepaalde functionaliteit weghaald omdat het potentieel onveilig is
Verklaar je nader?

Welke functionaliteit wordt er dan precies verwijderd? De mogelijkheid om een exploit (parameter injection) niet meer uit te voeren?

Dat lijkt me onwenselijke functionaliteit en dus mag ze dan verwijderd worden...

De functionaliteit om elke "rij met letters"/string mee te geven, die je nu inderdaad kunt exploiteren, doordat andere programma's hier niet goed mee omgaan.

Ik geef toe dat het waarschijnlijk in de praktijk niet zo ernstig is maar het is volgens mij principieël fout.

Escapen lost geen drol op, Windows werkt niet met losse parameters voor applicaties, je hebt gewoon 1 commandline. Als je meerdere argumenten wilt hebben, dan zul je dat als applicatie zelf moeten parsen. Welnu, hij kan quotes gaan zitten escapen zodat jij als app snapt wat bij de uri hoort en wat niet, maar dat is nogal arbitrair. Jij gaat ervanuit dat het scapen van quotes helpt, maar dat betekent dat alle applicaties alsnog aangepast moeten worden, omdat er niet zoiets bestaat als het op een standaard manier escapen van quotes in command lines. De applicaties die dus nu custom code bevatten om de commandline op te delen in aparte parameters en daarbij rekening houden met quotes, zullen niet ineens correct gaan werken omdat ze de notie van een geescapte quote helemaal niet snappen. Jou gesuggereerde "fix" voor IE lost dus geen zak op.

Maar, je kan er ook gewoon voor zorgen dat, als je je tweaker:// tegenkomt op de commandline, je er blind vanuit gaat dat de rest van de commandline ook gewoon bij die URI hoort. Ben je meteen van al het gezeik af. Een extra "-iets" in de URI stoppen heeft dan geen zin, want hij wordt gewoon bij de URI gerekend en niet als extra command line optie.

[Reactie gewijzigd door .oisyn op woensdag 18 juli 2007 16:00]


Volgens mij werkt Windows wel met aparte argumenten. Een voorbeeld is een C of C++ main methode, dat is de methode die dus wordt aangeroepen als een programma wordt opgestart.

int main( int argc, const char* argv[] ){}

Hierbij wordt een constante string array (oftwel een rij van letterrijen) mee gegeven, wat de commandline arguments zijn. In c# is het misschien nog duidelijker:

static void Main(string[] args){}

Windows werkt dus wel degelijk met losse parameters.

Oh, dus omdat een C of C++ entry point is gedefinieerd zoals de standaard dat voorschrijft, impliceert dat windows ook zo werkt? Ik hoop dat je zelf ook wel realiseert dat die argumentatie kant nog wal slaat :)

De gangbare entry point van een win32 applicatie is gedefinieerd als volgt:
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR cmdLine, int cmdShow);

Juist, die cmdLine is dus een enkele string die de command-line aangeeft. Bovendien is er een win32 API functie om de commandline op te vragen, namelijk GetCommandLine().

Het feit dat de standaard C en C++ main() een lijst van argumenten verwacht, is omdat ISO C en ISO C++ dat nou eenmaal zo voorschrijven. De C runtime, waarmee je linkt als je een applicatie in C of C++ maakt, zorgt er echter voor dat de commandline wordt geparsed, en als losse argumenten naar je main() worden gestuurd. Lees deze pagina maar eens, daar staat uitgelegd hoe dat parsen in z'n werk gaat. Je kunt de parsing ook zelf doen, door de _setargv() functie te implementeren.

Elke applicatie dat meerdere argumenten verwacht, heeft dus eigen command line parsing code meegelinkt, om van een enkele string meerdere argumenten te maken.

[Reactie gewijzigd door .oisyn op woensdag 18 juli 2007 17:06]


Je hebt helemaal gelijk. Ik ging te kort door de bocht en ik ben blij dat je het even hebt uitgelegd.

Wellicht hebben developers van firefox en trillian hier geen rekening mee gehouden, en dat was nou net het punt wat jij noemde.

Net als de vorige post over deze bug, betreffende Firefox & Internet Explorer wil men graag de schuld bij 1 partij leggen. Imho moeten alle genoemde programma's, Internet Explorer, Firefox, en Trillian de protocol request checken, of deze nou ontvangen of verstuurd word. Een ontvangend programma moet er niet klakkeloos vanuit gaan dat de ontvangen data goed is, net als een versturend programma er niet klakkeloos vanuit moet gaan dat het ontvangende programma daar maar voor moet zorgen.

[Reactie gewijzigd door geez op woensdag 18 juli 2007 14:33]


Mozilla heeft ondertussen niet gewacht op een patch van Microsoft om de uri-bugs in Internet Explorer te dichten; het bedrijf heeft, zoals aangekondigd, zelf een beveiligingsupdate voor Firefox uitgebracht.
Geweldig dat een community bestaande uit o.a. vrijwilligers sneller reageert dan een bedrijf met honderden miljarden op de bank!

Een mooi voorbeeld dat open-source werkt :)

Ik ben (v/f)er(v/f)ent opensource aanhanger, maar wou toch even kwijt dat de Mozilla stichting nou niet bepaalt arm is ;)

Mijn inziens heeft dit weinig met 'open-source' te maken.

Dit probleem is natuurlijk makkelijker op te lossen in de applicatie die aangeroepen wordt (firefox, bijv.), dan in de applicatie die het hele geheel aanroept (internet explorer).

Als Microsoft het een en ander aanpast zodat de aanroep encoded wordt doorgegeven of iets in die richting, dan kan je er haast zeker van zijn dat dit weer de compatibiliteit met een bestaand programma breekt.

Microsoft heeft vast ook bedrijven als klant waarbij het catastrofaal zou zijn als er door een aanpassing van deze methode applicaties of bijvoorbeeld een intranet opeens niet meer blijkt te werken.

Het feit blijft natuurlijk - zoals al door vele anderen aangegeven - dat een applicatie de invoer nooit mag vertrouwen. Men is blijkbaar erg laks geweest met het controleren van de invoer. Tot voor kort was dit geen probleem, maar nu het nieuws eenmaal bekend is zullen er natuurlijk meer pogingen worden gedaan om deze 'bug' uit te buiten.

Helaas vermoed ik ook dat de financiele belangen belangrijker zijn dan goede code schrijven.

er wordt nogal vaak gezegt dat alleen het escapen van quotes hier DE oplossing is, en op zich ben ik 't na het lezen van die argumenten daar ook wel mee eens, maar toch is het geen IE bug, - Firefox heeft zijn problemen nu opgelost en zo hoort 't ook,

misschien zou 't toch wel vriendelijk zijn als ie bij de volgende patch ook eff die strings escapet

Alleen het probleem lag bij FireFox en niet bij IE, die doet gewoon wat er verwacht wordt en kan niet al die uri's zelf controleren, want dat betekend dat IE dus alles moet weten ook van programma's die nog niet gemaakt zijn... Trouwens Overige browsers hebben precies hetzelfde probleem..

In Firefox 2.0.0.5 is het inmiddels verholpen. Dus het "meer applicaties" uit de titel van dit bericht is niet helemaal juist.

Volgens Webwereld is Yahoo-chat ook gevoelig voor die AIM uri.

Waarom wordt ik nou weer weggemod? Alsof het oninteressant is dat meerdere programma's gevoelig zijn voor deze lek. :?

[Reactie gewijzigd door m0nkey op woensdag 18 juli 2007 15:09]


Volgens mij heb je de tekst zelf niet helemaal goed gelezen. Ze hebben het over 2 verschillende lekken.

Trillian heeft het URI-'lek' als er gebruik wordt gemaakt van AIM. Yahoo Messenger heeft een bufferoverflow in het adresboek:
Het lek in Yahoo Messenger [..] is in feite een kwetsbaarheid in de bufferoverflow die kan worden misbruikt door een speciaal aangemaakte invoer in het adresboek, waardoor de chatdienst kan crashen.
en
Trillian is het slachtoffer van twee kritieke lekken die betrekking hebben op de manier waarop Trillian omgaat met AIM uri's (uniform resource identifier).
Tevens is het reageren op moderaties niet gewenst - als een score onjuist is wordt 'ie vanzelf wel weer rechtgezet, en anders is er altijd nog het mismoderatie topic.

[Reactie gewijzigd door soczol op woensdag 18 juli 2007 17:46]

«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 14:44
Vorige 13:13
VNU Media logo Hosted by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van: