Hej jeg kunne godt tænke mig at høre lidt hvordan man laver sql injections da jeg godt kunne tænke mig at tjekke om mine sider er "hacker" sikre, er der en som kan forklare lidt hvordan man gør det, skriver man i input boxene eller oppe i URL'en? og hvad skriver man osv.
Tak på forhånd og god jul !
Læs disse to:
http://www.owasp.org/index.php/SQL_Injectionhttp://www.owasp.org/index.php/Guide_to_SQL_InjectionKort sagt så er sårbarheden til stede, hvis en bruger har for megen indflydelse på database søgninger og opdateringer, end hvad der er tiltænkt.
Hvis du f.eks. har følgende:
<?php
mysql_connect("localhost", "someuser", "somepass");
mysql_select_db("somedatabase");
$sql = "SELECT name FROM users WHERE id=" . $GET['userid'];
$q mysql_query($sql);
while ($a = mysql_fetch_array($q)) {
echo $a['name'] . "\n";
}
?>
Det er meningen, at det skal skrive navnet på en bruger som findes via et bruger ID.
Men hvad hvis ID'et er:
1 limit 0 union select concat(name, char(64), password) from users
Så bliver følgende SQL udført:
select name from users where id=1 limit 0 union select concat(name, char(64), password) from users
Dvs. at vi i stedet skriver en liste af brugernavne og passwords adskilt af et snabel a (char(64) = '@').
Den første URL, jeg listede, viser bl.a., hvordan man sikrer sig mod SQL injections.