Test pagina voor SQL injection
ik ben aantal maanden bezig met het leren van programmeren.
Heb dus een soort profielen base gemaakt puur om te kijken of ik het onder de knie heb.
Nu ben ik wel heel erg benieuwd of ik het veilig mogelijk heb geprogrammeerd o.a tegen SQL-injections of sessions manipulatie .
Daarom vraag ik u professionelen om mijn site te testen, deze wordt niet gebruikt voor een echt profielen site is puur voor mezelf om te kijken of ik het veilig heb gedaan.
KLIKJE
eerste poging krijg een melding verkeerd paswoord
backspace en ik ben binnen
Toevoeging op 26/05/2014 19:09:53:
nieuw session ==> Parse error: syntax error, unexpected '$ingelogd' (T_VARIABLE), expecting function (T_FUNCTION) in C:\webje\htdocs\login\NewSession.php on line 14
Als je advies wilt zou je een stukje relevante code kunnen laten zien.
Er heeft nu iemand alle nicknames kunnen veranderen naar a' or '1=1:en ook de wachtwoorden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
include_once ('connect.php');
class Change{
private $db;
public function __construct(){
$this->db = new Connect();
$this->db = $this->db->DbConnect();
}
public function Nick($name,$newname){
if(!empty($newname)){
$st = $this->db->prepare("SELECT * FROM users WHERE name=?");
$st->bindParam(1, $newname);
//$st->bindParam(2, $pass);
$st->execute();
if($st->rowCount() == 0){
$st1 = $this->db->prepare("UPDATE users SET name=? WHERE name=?");
$st1->bindParam(1, $newname);
$st1->bindParam(2, $name);
$st1->execute();
$_SESSION['nickname'] = $newname;
echo 'Your new nickname is '. $_SESSION['nickname'];
} else {
echo 'Sorry, '.$_SESSION['nickname'].' <br>';
echo 'This nickname allready token!!';
}
} else {
echo "Please enter a new username";
}
}
}
?>
include_once ('connect.php');
class Change{
private $db;
public function __construct(){
$this->db = new Connect();
$this->db = $this->db->DbConnect();
}
public function Nick($name,$newname){
if(!empty($newname)){
$st = $this->db->prepare("SELECT * FROM users WHERE name=?");
$st->bindParam(1, $newname);
//$st->bindParam(2, $pass);
$st->execute();
if($st->rowCount() == 0){
$st1 = $this->db->prepare("UPDATE users SET name=? WHERE name=?");
$st1->bindParam(1, $newname);
$st1->bindParam(2, $name);
$st1->execute();
$_SESSION['nickname'] = $newname;
echo 'Your new nickname is '. $_SESSION['nickname'];
} else {
echo 'Sorry, '.$_SESSION['nickname'].' <br>';
echo 'This nickname allready token!!';
}
} else {
echo "Please enter a new username";
}
}
}
?>
Toevoeging op 27/05/2014 18:16:59:
Kunnen de tester doorgeven of er lekken zijn zo ja waar de lekken zijn.
Ik ben nog steeds benieuwd naar de veiligheid.
Nieuwe testers kunnen kijken via klikje/
Gewijzigd op 26/05/2014 20:10:03 door Erwin Zenden