Sqlmap is een tool voor sql injection testing. Hiermee gaan we een aantal korte opdrachten doen.
- team effort: 2 of 3.
- tool ontdekken met video tutorials
- tool installeren / aan de gang krijgen via download of python command of voorgeinstalleerd op Kali Linux
- tool uitproberen op je eigen web pagina via search.php (code hier onder)
- probeer een aantal trucs uit te halen op de originele versie van je php code. Welke SQL attacks kun je uitvoeren?
- de pagina’s van medeleerlingen / klasgenoten met wie je afspraken hebt gemaakt op airybubbles7.nl checken
- Maak een nieuwe versie van search.php en die noem je search2.php, search3.php enz. Check opnieuw met sqlmap. Link deze pagina’s aan elkaar zodat ze voor iedereen te vinden zijn.
PHP / SQL Code voor een zoek formulier
Computerphile toont het gebruik in een zoekform. Heb je die gemaakt? Nu wel.
Upload deze rotte code naar je server. Deze werkt met dezelfde db.php die je al eerder hebt opgehaald.
search.php
<html lang="NL-nl"><head><title>Leer PHP</title>
<link rel='stylesheet' href='https://blub.airybubbles7.nl/~eloqarch/css/style.css'
type='text/css' media='all' />
</head><body>
<h1>Search Employees</h1>
<form action=search.php method=post>
<input type=text name=search value="Zoek op...">
<input type=submit value=Zoek>
</form>
<?php
/* search page example
*/
include "db.php";
$search = $_POST['search'];
$sql = "select emp_no, first_name, last_name from employees where
first_name like '%$search%' or last_name like '%$search%'";
$q = mysqli_query($db,$sql);
if (mysqli_error($db)) {
echo "Error" . mysqli_error($db);
}
if (mysqli_num_rows($q) == 0 ) {
echo "no results";
} else {
echo "<ul>";
while ($res = mysqli_fetch_array($q)) {
$eno = $res[0];
$efn = $res[1];
$eln = $res[2];
echo "<li>$eno $efn $eln </li>";
}
echo "</ul>";
echo $sql;
}
echo "<br><a href='../index.php?'>Naar de index</a>";
echo "</body></html>";