anoniem Geplaatst: 18 maart 2004 Auteur Delen Geplaatst: 18 maart 2004 [quote:08fbd13d70="InZane"]En natuurlijk kun je in het geval van een POST ook de data weergeven zoals remytje deed, maar er wordt toch niks mee gedaan. Of je moet register globals aan hebben staan in je php.ini, maar da's niet echt handig.[/quote:08fbd13d70]Nu spreek je jezelf tegen... Of je nu gebruik maakt van $_SESSION, $_GET of $_POST, de methoden zoals beschreven zijn bij verkeerd allemaal even goed uit te buiten, ongeacht serverconfiguratie. Als je het daar niet mee eens bent moet je het zelf weten, maar het blijft een risico dat je loopt... Dat is het enige dat ik eigenlijk wilde zeggen, en zeg nou zelf: hoe veel moeite is zo'n controle nou? - Bas Quote Link naar reactie
anoniem Geplaatst: 18 maart 2004 Auteur Delen Geplaatst: 18 maart 2004 [quote:967d48afd5="InZane"]Hij zal er zoiets van maken: [b:967d48afd5]SELECT * FROM bla WHERE id = '2;DROP table foo';[/b:967d48afd5] [/quote:967d48afd5] Hmm, dan heb je niet goed gelezen. De gegevens die ik meestuur zouden namelijk het volgende maken van de query. [b:967d48afd5]SELECT * FROM bla WHERE id = '2';DROP table foo;select '1'[/b:967d48afd5] [color=darkred:967d48afd5][i:967d48afd5]@remytje: de ";select '1" is om de enkel-quote aan het eind van de string af te vangen. Maar dat kan natuurlijk ook nog op andere manieren (afhankelijk van het rdbms)[/i:967d48afd5][/color:967d48afd5] [quote:967d48afd5="InZane"]Geprobeerd.. wil niet..[/quote:967d48afd5] In mysql misschien niet, maar dat is niet de enige database die bestaat. En elke database heeft zo zijn eigen sql injection risico's die je zal moeten afvangen (zie hieronder). [quote:967d48afd5="InZane"] En natuurlijk kun je in het geval van een POST ook de data weergeven zoals remytje deed, maar er wordt toch niks mee gedaan. Of je moet register globals aan hebben staan in je php.ini, maar da's niet echt handig.[/quote:967d48afd5] Nu snap ik je helemaal niet meer. Je geeft een voorbeeld waarbij je rechtstreeks de data uit de superglobals in de query kwakt, waarna je ook nog beweert dat controle van deze gegevens niet nodig is omdat deze tussen enkele quotes staat. Wat heeft dat dan in g***naam met de register globals instelling van php te maken? Overigens zal de methode die Remytje schetst wel werken in mysql als je de data niet escapet. En als je mij (of de andere forumgebruikers) niet wil geloven doe je zelf dan een plezier en zoek eens op internet wat artikelen op over sql injection. Als je die doorgelezen hebt dan wil ik met alle plezier de discussie nog een keer opnieuw voeren. Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:4e96f7df1f="BasHamar"][quote:4e96f7df1f="InZane"]En natuurlijk kun je in het geval van een POST ook de data weergeven zoals remytje deed, maar er wordt toch niks mee gedaan. Of je moet register globals aan hebben staan in je php.ini, maar da's niet echt handig.[/quote:4e96f7df1f]Nu spreek je jezelf tegen... Of je nu gebruik maakt van $_SESSION, $_GET of $_POST, de methoden zoals beschreven zijn bij verkeerd allemaal even goed uit te buiten, ongeacht serverconfiguratie. Als je het daar niet mee eens bent moet je het zelf weten, maar het blijft een risico dat je loopt... Dat is het enige dat ik eigenlijk wilde zeggen, en zeg nou zelf: hoe veel moeite is zo'n controle nou? - Bas[/quote:4e96f7df1f] Had 'm ff niet goed begrepen. zal het slaaptekort zijn :P @Annie: Controle is idd maar een klein dingetje, maar ik wilde alleen maar ff zeggen dat het bij mij iig geval niet werkt. You're welcome to try ;) Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:c289d8fe01="Annie"]Als je database server of data access laag meerdere instructies gescheiden door puntkomma toestaat moet je het dus afvangen. En dat doe je in je applicatie en heeft dus vrij weinig te maken met je server configuratie. (Q.E.D.)[/quote:c289d8fe01]Precies, maar qua server kun je nog wel het een en ander beveiligen. Het is (meestal) niet nodig om een user REMOVE en ALTER-rechten te geven, dus uitschakelen die rechten. Ik zet meestel ook nog alle INSERT- en UPDATE-rechten uit (dus alleen-lezen) en maak een special 'write-user' aan, die zich alleen in mijn data-access laag en\of business logic laag bevindt. Ipv een 'write-user' laat ik soms alles via stored procedures lopen (die natuurlijk de input nogmaals valideert). [quote:c289d8fe01="Annie"][color=darkred:c289d8fe01][i:c289d8fe01]@remytje: de ";select '1" is om de enkel-quote aan het eind van de string af te vangen.[/i:c289d8fe01][/color:c289d8fe01][/quote:c289d8fe01]O ja, natuurlijk. Te snel gelezen :oops: :wink: -Rémy Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:60a499af65="Remytje"]Ipv een 'write-user' laat ik soms alles via stored procedures lopen (die natuurlijk de input nogmaals valideert). [/quote:60a499af65] Wat dat betreft kan ik niet wachten op MySQL 5, die ook stored procedures gaat ondersteunen. Van het weekend ook maar eens kijken hoe SQLite presteert die in PHP 5 zit ingebakken. Vandaag is de RC1 uitgebracht :) Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 Woohoo! PHP5! Ik wil PHP5! :D - Bas Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:da6dd015e3="BasHamar"]Woohoo! PHP5! Ik wil PHP5! :D - Bas[/quote:da6dd015e3] http://www.php.net/downloads.php#v5 ;) Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:69e93fbdff="InZane"]http://www.php.net/downloads.php#v5 ;)[/quote:69e93fbdff]Haha! Maar ik bedoelde eigenlijk op de servers van mijn host... Hoeft mijn computer tenminste niet continu aan te staan. Maar die zullen vast wachten op de stabiele versie en zelfs dan betwijfel ik dat ze direct zullen upgraden. Maar misschien dat ik er ff mee ga experimenteren op mijn Redhat 9 fileservertje... - Bas Quote Link naar reactie
anoniem Geplaatst: 19 maart 2004 Auteur Delen Geplaatst: 19 maart 2004 [quote:c08012211a="BasHamar"][quote:c08012211a="InZane"]http://www.php.net/downloads.php#v5 ;)[/quote:c08012211a]Haha! Maar ik bedoelde eigenlijk op de servers van mijn host... Hoeft mijn computer tenminste niet continu aan te staan. Maar die zullen vast wachten op de stabiele versie en zelfs dan betwijfel ik dat ze direct zullen upgraden. Maar misschien dat ik er ff mee ga experimenteren op mijn Redhat 9 fileservertje... - Bas[/quote:c08012211a] Tja op de servers van mijn host zal het voorlopig ook wel niet komen. Lijkt me wel zo handig om te wachten op de stable release en vervolgens vantevoren ook flink testen natuurlijk. Thuis komt ie er in ieder geval wel op :) Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen