diff --git a/Zweites Jahr/Kryptologie/vigenere.php b/Zweites Jahr/Kryptologie/vigenere.php
index c9bf844..f9ec214 100644
--- a/Zweites Jahr/Kryptologie/vigenere.php
+++ b/Zweites Jahr/Kryptologie/vigenere.php
@@ -2,11 +2,11 @@
-function vigenere($text,$shift){
+function vigenere($text,$code){
$result = "";
for ($i = 0; $i < strlen($text); $i++){
- $shift = $shift[$i%strlen($shift)];
+ $shift = $code[$i%strlen($code)-1];
$letter = $text[$i];
$letter = ord($letter);
diff --git a/Zweites Jahr/unterrichts_projekt/pdo_test.php b/Zweites Jahr/unterrichts_projekt/pdo_test.php
index 8585e7c..6ad80f2 100644
--- a/Zweites Jahr/unterrichts_projekt/pdo_test.php
+++ b/Zweites Jahr/unterrichts_projekt/pdo_test.php
@@ -16,18 +16,22 @@
$dbh = db_connect();
// get data from fields:
- $u_firstname = $_REQUEST['firstname'];
- $u_lastname = $_REQUEST['lastname'];
- $u_email = $_REQUEST['email'];
+ $u_firstname = $dbh->quote($_REQUEST['firstname']);
+ $u_lastname = $dbh->quote($_REQUEST['lastname']);
+ $u_email = $dbh->quote($_REQUEST['email']);
// definiert den SQL befehl um
// einen Nutzer korrekt in der DB anzulegen
- $addUser="INSERT INTO user VALUES(
- NULL,
- '$u_firstname',
- '$u_lastname',
- '$u_email'
- )";
+ $addUser="INSERT INTO user VALUES (
+ NULL,
+ $u_firstname,
+ $u_lastname,
+ $u_email
+ );";
+
+ echo $addUser."";
+
+ // TEST SQL INJECTION: '); DELETE FROM user WHERE (u_email LIKE '%
// Versucht code auszufügen (try{...}) wenn das fehlschlägt
// nimmt er sich den error und es wird anderer code ausgeführt
@@ -48,11 +52,18 @@
//echo "
Error Message: $errMsg";
//echo "
Error-Code: $errCode";
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+
+ echo "
" . $e->getCode() . ": " . $e->getMessage() . ""; + echo "
" . $addUser . ""; + switch ($errCode) { case "23000": $custErrMsg = "
Email-Adress already exists
"; break; default: $custErrMsg = "Oooooops, something went wrong!
"; } } + echo $custErrMsg; // #################################### diff --git a/Zweites Jahr/unterrichts_projekt/sql-injection.md b/Zweites Jahr/unterrichts_projekt/sql-injection.md new file mode 100644 index 0000000..eefe881 --- /dev/null +++ b/Zweites Jahr/unterrichts_projekt/sql-injection.md @@ -0,0 +1,9 @@ +## Test SQL Injection + +```sql +INSERT INTO user VALUES( + NULL, + '$u_firstname', + '$u_lastname', + ''); DELETE FROM user WHERE (u_email LIKE '%'); +``` \ No newline at end of file