2
0

add test sql injection, add protectin agains it (lvl. 1)

This commit is contained in:
Schuledaniel
2026-02-04 14:41:18 +01:00
parent ebee549aab
commit 9f9625ff58
3 changed files with 31 additions and 11 deletions

View File

@@ -2,11 +2,11 @@
function vigenere($text,$shift){ function vigenere($text,$code){
$result = ""; $result = "";
for ($i = 0; $i < strlen($text); $i++){ for ($i = 0; $i < strlen($text); $i++){
$shift = $shift[$i%strlen($shift)]; $shift = $code[$i%strlen($code)-1];
$letter = $text[$i]; $letter = $text[$i];
$letter = ord($letter); $letter = ord($letter);

View File

@@ -16,18 +16,22 @@
$dbh = db_connect(); $dbh = db_connect();
// get data from fields: // get data from fields:
$u_firstname = $_REQUEST['firstname']; $u_firstname = $dbh->quote($_REQUEST['firstname']);
$u_lastname = $_REQUEST['lastname']; $u_lastname = $dbh->quote($_REQUEST['lastname']);
$u_email = $_REQUEST['email']; $u_email = $dbh->quote($_REQUEST['email']);
// definiert den SQL befehl um // definiert den SQL befehl um
// einen Nutzer korrekt in der DB anzulegen // einen Nutzer korrekt in der DB anzulegen
$addUser="INSERT INTO user VALUES ( $addUser="INSERT INTO user VALUES (
NULL, NULL,
'$u_firstname', $u_firstname,
'$u_lastname', $u_lastname,
'$u_email' $u_email
)"; );";
echo $addUser."</br>";
// TEST SQL INJECTION: '); DELETE FROM user WHERE (u_email LIKE '%
// Versucht code auszufügen (try{...}) wenn das fehlschlägt // Versucht code auszufügen (try{...}) wenn das fehlschlägt
// nimmt er sich den error und es wird anderer code ausgeführt // nimmt er sich den error und es wird anderer code ausgeführt
@@ -48,11 +52,18 @@
//echo "<br> Error Message: $errMsg"; //echo "<br> Error Message: $errMsg";
//echo "<br> Error-Code: $errCode"; //echo "<br> Error-Code: $errCode";
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "<h3>FEHLER:</h3>";
echo "<pre>" . $e->getCode() . ": " . $e->getMessage() . "</pre>";
echo "<h3>DEINE SQL:</h3><pre>" . $addUser . "</pre>";
switch ($errCode) { switch ($errCode) {
case "23000": $custErrMsg = "<p>Email-Adress already exists</p>"; break; case "23000": $custErrMsg = "<p>Email-Adress already exists</p>"; break;
default: $custErrMsg = "<p>Oooooops, something went wrong!</p>"; default: $custErrMsg = "<p>Oooooops, something went wrong!</p>";
} }
} }
echo $custErrMsg; echo $custErrMsg;
// #################################### // ####################################

View File

@@ -0,0 +1,9 @@
## Test SQL Injection
```sql
INSERT INTO user VALUES(
NULL,
'$u_firstname',
'$u_lastname',
''); DELETE FROM user WHERE (u_email LIKE '%');
```