2024-09-08

Image IMG_2762 Image IMG_2763 Image IMG_2764 Image IMG_2766 Image IMG_2767 Image IMG_2768 Image IMG_2770 Image IMG_2771 Image IMG_2772 Image IMG_2773 Image Screenshot_20240907_210708 Image Screenshot_20240908_194559 Image Screenshot_20240908_202257 Image Screenshot_20240908_202302 Image Screenshot_20240908_202310 Image Screenshot_20240908_203131 Image Screenshot_20240908_203139 Image Screenshot_20240908_203240 Image Screenshot_20240908_204211

1.) Rechne die Zahl in binaer Darstellung  in eine Dezimale Darstellung um
1010100010111000b 43192d
2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um
41634 1010001010100010
3.) Addiere die drei Zahlen schriftlich
              409
+            2516
+           32064
-----------------
            34989
4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich
            11437
-            7151
-           11383
-            4433
-----------------
           -11530
5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal
55 -45 = 10
00110111 11010011 = 00001010
6.) Multipliziere die zwei Zahlen schriftlich
3698*7647 = 28278606
7.) Dividiere die zwei Zahlen schriftlich
6408/22342 = 0
8.) Errechne x Logarithmisch mit dem Taschenrechner
2636^x = 1195139018
9.) Errechne mit dem Abakus
67 + 61 + 57 + 13 + 16 + 2 + 54 + 31 + 21 + 60
10.) Errechne mit dem Abakus
6011 + 229 + 1403 + 8550 + 9025 + 9418 + 7240 + 8099 + 9757 + 3603

<?php
session_start ();
?>

<form method="POST" action="./test20240908.php">
<input type="text" name="test2024090801">
<input type="submit">
</form>

<?php
echo session_id () . "<br>\n";

setcookie ("test2024090802", "Ich bin der erste Cookie", time () + 3600);

echo htmlentities ($_POST ["test2024090801"]) . "<br>\n";
echo htmlentities ($_COOKIE ["test2024090802"]) . "<br>\n";
echo htmlentities ($_COOKIE ["test2024090803"]) . "<br>\n";

session_destroy ();
?>

Trying ::1...
Connected to localhost.
Escape character is '^]'.
HTTP/1.1 200 OK
Date: Sun, 08 Sep 2024 17:49:16 GMT
Server: Apache/2.4.57 (Debian)
Set-Cookie: PHPSESSID=fjkneaa2bfm5ca52mbiindhv8t; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: test2024090802=Ich%20bin%20der%20erste%20Cookie; expires=Sun, 08 Sep 2024 18:49:16 GMT; Max-Age=3600
Vary: Accept-Encoding
Content-Length: 210
Content-Type: text/html; charset=UTF-8

<form method="POST" action="./test20240908.php">
<input type="text" name="test2024090801">
<input type="submit">
</form>

fjkneaa2bfm5ca52mbiindhv8t<br>
Ich bin das Datum<br>
<br>
Hallo, ich bin Cookie 2<br>

POST http://localhost/exersice/20240908/test20240908.php HTTP/1.1
host: localhost
Cookie: test2024090803=Hallo, ich bin Cookie 2
Content-Length: 32
Content-Type: application/x-www-form-urlencoded

test2024090801=Ich bin das Datum

Jetzt haben wir das Problem mit dem XSS Attacke, weil ich hab die ja gestern richtig durchgeführt. Es ist schön nur ohne Umleitung aber das kann ich jetzt auch noch einbauen. Das ist schön dann gleite ich allenfalls mich selber um so macht es keinen Sinn jetzt hab ich auf YouTube Beiträge zu XSS Attacken als Attacken von Hackern gesehen. Vielleicht vielleicht sind da bessere Infos. Das ist das ein ich kann mir auch den Text noch mal durchlesen den ich dazu hab ich mein ich hab zu 100

Ich hab falsch gedacht ich hab falsch gedacht nein ich hab ich hab falsch gedacht. Tschuldigung ich hab falsch gedacht es macht ja wohl Sinn ich hab falsch gedacht. Ich hab falsch gedacht ich war noch nicht das stimmt nicht dass die XSS Attacke so keinen Sinn macht. Ich hab ja selber mal meine Homepage mit PHP selber gemacht also sollte ich das eigentlich wissen. Ich hab ein Forum gemacht das war mit PHP da konnte man Beiträge speichern. Sei nicht so gut aus wie PHPBB3, aber es war ein Forum und man konnte Beiträge sprechen. Es macht sehr wohl Sinn. sie können ja einfach das Java Skript geben sie ja nicht ein und dann wird es aufgerufen. Verstehen Sie sie haben bei PHP ja über das Formel Eingabe Beatbox und na dann rufen Sie ja nicht das ein was über die Eingabe Beatbox aufgerufen wird. Also sie machen PHP haben ne Eingabebox drücken auf den Knopf und dann werden sie weitergeleitet selber das macht natürlich keinen Sinn. Darüber habe ich mich gewundert PHP Forum sagen wir mal so egal ob sie das jetzt mit MySQL machen oder mit dem Forum, wo sie in PHP in einer Textdatei so hatte ich das gemacht. Ich würde auch mit einer Datenbank hinkriegen, wo sie in einer Textdatei Sachen speichern. Sie haben die Datenbank. Sie haben keine Datenbank, sondern sie haben im Forum und da haben sie ne lange Textdatei und jeder Beitrag wird in der Textdatei gespeichert, also im RAW einfach normalen normalen Text und dann machen Sie den Text rein und dann kommt es Jarvis Skript auch rein. Sie machen den normalen Text rein und sie machen das Java Skript rein rein und dann wird es da gespeichert und dann machen Sie ne versteckte Speicherung von Java Skript das ist halt ne Umleitung rein gibt. Machen Sie halt das rein dann leitet er sie auf ne andere Seite aus um die die Seite sieht aus wie ihre Seite hat ein ähnlichen Namen nur ein E. Zum Beispiel zu viel oder nah oder ne sieben und dann sind sie umgeleitet, da es ja in dem Forum gespeichert wurde und Java Skript, das müssen sie ja nicht sichtlich machen das Java Skript sie müssen ja keine Eingabebox auftauchen lassen sondern machen nur ne Umleitung und da das ordentlich aussieht, werden sie dann umgeleitet. Okay das verstehe ich und der Witz bei der Geschichte ist dass die Umleitung geht eine andere Seite und die hat ne sieben und wenn sie das geschickt machen, dann ist die um geleitete Seite dann müssen Sie als User nicht mal doof sein. Das sieht dann einfach so aus als wäre der Domain Name eigentlich der selbe wie von dem Macher nur die die haben da so ein spezielles System dass die da eben noch ein bisschen anderes am Namen gepusht haben, so verstehe ich die so versteh ich die XSS Attacke wenn man so macht, dann verstehe ich die XSS paar Tage. Ich hab jetzt ich habe ehrlich gesagt nicht drüber nachgedacht das stimmt das hab ich ihr nicht hab ich nicht aufgepasst wenn wenn sie normal was eingeben und ein Kuvert genau das ausgegeben, ohne dass sie speichern, dann macht es keinen Sinn wenn sie das im Forum speichern würden. Java Skript Code und zwar unsichtbar also so ohne dass das nur aufgerufen hat, sondern in dem Quelltext selber dann wird jeder auf die Seite umgelegt. Okay umgelenkt das verstehe ich okay, das ist kein Problem das kann ich mal ausprobieren. Wir machen heut mal ne Übung

Ich mach das jetzt einfach so. Ich schreib dir das um so ne Form im PHP, dass das halt diese XSS gemacht, in dem es das Java Skript annimmt. Und diesmal speicher ich das in so einer Art Forum, dass die Textdatei immer länger wird und dann mache ich ne Umleitung auf ne andere Seite von mir. Okay das kann ich mal ausprobieren.

// hat schon mal gut funktioniert mit dem Speichern

<?php
session_start ();
?>

<form method="POST" action="./xss20240908.php">
<input type="text" name="xss2024090801"></input>
<input type="submit"></input>
</form>

<?php
$f_name = "./www-data/xss20240908data.txt";

if (!file_exists ($f_name)) {
    file_put_contents ($f_name, $_POST ["xss2024090801"]);
}
else {
    $t = file_get_contents ($f_name);
    $t = $t . $_POST ["xss2024090801"];
    file_put_contents ($f_name, $t);
}
$t = file_get_contents ($f_name);
echo ($t);
session_destroy ();
?>

So, der Inhalt von den Daten

asdasdasdasasdasdasdasdasdasd

Jetzt mache ich den Benutzer JavaScript umleitung zu einem ähnlichen Dokument.

Und es hat funktioniert

dasdasdasasdasdasdasdasdasd<script>window.location = "http://localhost
    /exersice/20240908/crime.php";</script>

Jetzt kommt das ganze mit HTML Entities - safe - und dann wird das nicht passieren.

// Es hat funktioniert

<?php
session_start ();
?>

<form method="POST" action="./xss20240908safe.php">
<input type="text" name="xss2024090801"></input>
<input type="submit"></input>
</form>

<?php
$f_name = "./www-data/xss20240908datasafe.txt";
echo ("Ich bin sicher<br>");
if (!file_exists ($f_name)) {
    file_put_contents ($f_name, htmlentities($_POST ["xss2024090801"] . "<br><hr><br>"));
}
else {
    $t = file_get_contents ($f_name);
    $t = $t . htmlentities($_POST ["xss2024090801"]) . "<br><hr><br>";
    file_put_contents ($f_name, $t);
}
$t = file_get_contents ($f_name);
echo ($t);
session_destroy ();
?>

<br><hr><br>asdsd<br><hr><br>asdasd<br><hr>
<br>asdasd<br><hr><br>&lt;script&gt;window.location
= &quot;http://localhost/exersice/20240908/crime.php
&quot;;&lt;/script&gt;<br><hr><br>

Jetzt machen wir eine MySQL - Injection, ich weiss, schon, wie es geht

Warten sie, das ist das gleiche wie bei System

Bei

system (...)

Machen sie befehle für die Konsole - sollte niemanden passieren, sonst steuert jemanden ihren Server

Das gleiche können sie natürlich mit MySQL Befehlen für die datenbank machen. Sie speichern nicht javascript code für den nächsten Nutzer, das ist XSS ob der Betreiber ihr Forum in der Datenbank speichert oder in einer Datei - egal, aber SQL injection heisst, sie verlängern den Befehlen und lesen in der Datenbank.