Ga naar inhoud

Templates mbv Php


Aanbevolen berichten

[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
Link naar reactie
[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.
Link naar reactie
[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 ;)
Link naar reactie
[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
Link naar reactie
[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 :)
Link naar reactie
[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
Link naar reactie
[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 :)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...