SQL Injection Demo
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Hi,
Dieses Beispiel soll euch demonstrieren wie es zu einer SQL Injection kommen kann.
Der Datenbank wurde ein Admin User hinzugefügt:
username: admin
password: admin123
Normalerweise sollte es nur möglich sein sich mit diesem Zugang einzuwählen. Dennoch kann man sich bei unvorsichtiger Programmierweise auf andere Arten Zugang verschaffen.
Solltet ihr genug mit dieser kleinen App gespielt haben probiert diese Zungangsdaten aus:
username: admin
password: unknown' or '1'='1
Hands-on Demo
Beispiel APP
1
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
45
46
47
48
49
50
// {
server.get('/', function(req, res) {
console.log("/ is called on server");
res.sendFile(path.join(__dirname + '/index.html'));
});
server.post('/login', function (req, res) {
var username = req.body.username; // a valid username is admin
var password = req.body.password; // a valid password is admin123
var query = "SELECT name FROM user where username = '" + username + "' and password = '" + password + "'";
console.log("Benutzername: " + username);
console.log("Passwort: " + password);
console.log('Datenbank Abfrage: ' + query);
db.get(query, function(err, row) {
if(err) {
console.log('FEHLER', err);
res.redirect("/index.html#error");
} else if (!row) {
res.redirect("/index.html#unauthorized");
} else {
res.send('Hi, <b>' + row.name + '</b><br /><a href="/index.html">Zurück zur Login-Seite</a>');
}
});
});
console.log("Server wird gestartet");
server.listen(8080);
console.log('TECHIO> open -p 8080 /');
console.log("Server gestartet");
Enter to Rename, Shift+Enter to Preview
1
<!DOCTYPE html>
Enter to Rename, Shift+Enter to Preview
1
form {
Enter to Rename, Shift+Enter to Preview
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content