Door
Tom C
op 12-01-2011 10:36
gewijzigd op 12-01-2011 10:37
2.058 views
Hallo :)
Ik ben op zoek naar een zo lek mogelijk inlogscript. Weten jullie misschien waar ik die één kan vinden? De meeste zijn namelijk goed beveiligd.
Het inlogscript moet wel verbinding maken met een database. Het inlogscript moet ook gevoelig zijn voor SQL-injectie.
Ik moet namelijk een demo maken voor SQL-injectie, en ik wil graag d.m.v. SQL-injectie onversleutelde gebruikersnamen en wachtwoorden uit de database halen.
Wie kan mij in de goede richting duwen?
Mvg,
Tom
Edit: even voor de duidelijkheid: dat inlogscript zal nooit in een productie-omgeving komen. Het is uitsluitend bedoeld voor demodoeleinden.
Bekijk dit eens:
<?php
session_start();
//$con = mysql_connect('localhost', 'root', '...');
//$db = mysql_select_db('phphulp', $con);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "SELECT id, naam FROM gebruikers WHERE naam='". $_POST['naam'] ."' AND pass='". $_POST['pass'] ."' ";
echo $sql;
}
else {
echo '<html><body>
<form action="" method="post">
<div><input name="naam"/> Naam</div>
<div><input name="pass" type="password"/> Paswoord</div>
<div><input type="submit"/></div>
</form>
</body></html>';
}
?>
Vul nu eens volgende gegevens in:
naam: foo
paswoord: bar' OR 1='1
Resultaat:
$sql wordt: SELECT id, naam FROM gebruikers WHERE naam='foo' AND pass='bar' OR 1='1'
Resultaat: die OR 1='1' geeft altijd een true weer. Het eerste record van de tabel gebruikers zal worden gevonden (EDIT: een beetje ongelukkig geformuleerd; zie verdere posts). Indien je het ongeluk hebt dat dit net de Administrator is, kan deze gebruiker dus je hele site overnemen.