
eBook - ePub
Hacking und Bug Hunting
Wie man Softwarefehler aufspürt und damit Geld verdient – ein Blick über die Schulter eines erfolgreichen Bug Hunters
- 269 Seiten
- German
- ePUB (handyfreundlich)
- Über iOS und Android verfügbar
eBook - ePub
Hacking und Bug Hunting
Wie man Softwarefehler aufspürt und damit Geld verdient – ein Blick über die Schulter eines erfolgreichen Bug Hunters
Über dieses Buch
Bugs in Websites aufspüren, Gutes tun, Spaß dabei haben ... und Geld verdienen
Ein praktischer Leitfaden für die Suche nach Softwarefehlern
Ein Blick hinter die Kulissen: Sie sehen, wie professionelle Bughunter vorgehen
Eine Anleitung, wie man mit Bughunting Geld verdient
Lernen Sie, wie Hacker Websites knacken und wie auch Sie das tun können.
Dieses Buch ist ein praktischer Leitfaden für die Suche nach Software-Bugs. Egal ob Sie in die Cybersicherheit einsteigen, um das Internet zu einem sichereren Ort zu machen, oder ob Sie als erfahrener Entwickler sichereren Code schreiben wollen – Peter Yaworski, ein überzeugter "Ethical Hacker", zeigt Ihnen, wie es geht.
Sie lernen die gängigsten Arten von Bugs kennen, wie Cross-Site-Scripting, unsichere Objekt-Referenzen oder Server-Side Request-Forgery. Echte Fallbeispiele aufgedeckter und entlohnter Schwachstellen in Anwendungen von Twitter, Facebook, Google und Uber zeigen erstaunliche Hacks, und sie erfahren, wie Hacker bei Überweisungen Race Conditions nutzen, URL-Parameter verwenden, um unbeabsichtigt Tweets zu liken, und vieles mehr.
Sie lernen:
- wie Angreifer Websites kompromittieren
- wo Sie mit der Suche nach Bugs anfangen
- welche Funktionalitäten üblicherweise mit Schwachstellen assoziiert werden
- wie Sie Bug-Bounty-Programme finden
- wie Sie effektive Schwachstellen-Reports verfassen
"Hacking und Bug-Hunting" ist eine faszinierende und umfassende Einführung in die Sicherheit von Webanwendungen, mit Geschichten von der vordersten Schwachstellenfront und praktischen Erkenntnissen. Mit Ihrem neu gewonnenen Wissen um die Websicherheit und Schwachstellen können Sie das Web zu einem sichereren Ort machen—und dabei noch Geld verdienen.
Ein praktischer Leitfaden für die Suche nach Softwarefehlern
Ein Blick hinter die Kulissen: Sie sehen, wie professionelle Bughunter vorgehen
Eine Anleitung, wie man mit Bughunting Geld verdient
Lernen Sie, wie Hacker Websites knacken und wie auch Sie das tun können.
Dieses Buch ist ein praktischer Leitfaden für die Suche nach Software-Bugs. Egal ob Sie in die Cybersicherheit einsteigen, um das Internet zu einem sichereren Ort zu machen, oder ob Sie als erfahrener Entwickler sichereren Code schreiben wollen – Peter Yaworski, ein überzeugter "Ethical Hacker", zeigt Ihnen, wie es geht.
Sie lernen die gängigsten Arten von Bugs kennen, wie Cross-Site-Scripting, unsichere Objekt-Referenzen oder Server-Side Request-Forgery. Echte Fallbeispiele aufgedeckter und entlohnter Schwachstellen in Anwendungen von Twitter, Facebook, Google und Uber zeigen erstaunliche Hacks, und sie erfahren, wie Hacker bei Überweisungen Race Conditions nutzen, URL-Parameter verwenden, um unbeabsichtigt Tweets zu liken, und vieles mehr.
Sie lernen:
- wie Angreifer Websites kompromittieren
- wo Sie mit der Suche nach Bugs anfangen
- welche Funktionalitäten üblicherweise mit Schwachstellen assoziiert werden
- wie Sie Bug-Bounty-Programme finden
- wie Sie effektive Schwachstellen-Reports verfassen
"Hacking und Bug-Hunting" ist eine faszinierende und umfassende Einführung in die Sicherheit von Webanwendungen, mit Geschichten von der vordersten Schwachstellenfront und praktischen Erkenntnissen. Mit Ihrem neu gewonnenen Wissen um die Websicherheit und Schwachstellen können Sie das Web zu einem sichereren Ort machen—und dabei noch Geld verdienen.
Häufig gestellte Fragen
Ja, du kannst dein Abo jederzeit über den Tab Abo in deinen Kontoeinstellungen auf der Perlego-Website kündigen. Dein Abo bleibt bis zum Ende deines aktuellen Abrechnungszeitraums aktiv. Erfahre, wie du dein Abo kündigen kannst.
Derzeit stehen all unsere auf mobile Endgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Perlego bietet zwei Pläne an: Elementar and Erweitert
- Elementar ist ideal für Lernende und Interessierte, die gerne eine Vielzahl von Themen erkunden. Greife auf die Elementar-Bibliothek mit über 800.000 professionellen Titeln und Bestsellern aus den Bereichen Wirtschaft, Persönlichkeitsentwicklung und Geisteswissenschaften zu. Mit unbegrenzter Lesezeit und Standard-Vorlesefunktion.
- Erweitert: Perfekt für Fortgeschrittene Studenten und Akademiker, die uneingeschränkten Zugriff benötigen. Schalte über 1,4 Mio. Bücher in Hunderten von Fachgebieten frei. Der Erweitert-Plan enthält außerdem fortgeschrittene Funktionen wie Premium Read Aloud und Research Assistant.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja! Du kannst die Perlego-App sowohl auf iOS- als auch auf Android-Geräten verwenden, um jederzeit und überall zu lesen – sogar offline. Perfekt für den Weg zur Arbeit oder wenn du unterwegs bist.
Bitte beachte, dass wir keine Geräte unterstützen können, die mit iOS 13 oder Android 7 oder früheren Versionen laufen. Lerne mehr über die Nutzung der App.
Bitte beachte, dass wir keine Geräte unterstützen können, die mit iOS 13 oder Android 7 oder früheren Versionen laufen. Lerne mehr über die Nutzung der App.
Ja, du hast Zugang zu Hacking und Bug Hunting von Peter Yaworski, Peter Klicman im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Cyber Security. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.
Information
Thema
Computer ScienceThema
Cyber Security1
Bug-Bounty-Grundlagen

Ist Hacking etwas Neues für Sie? Dann legen Sie sich jetzt ein grundlegendes Verständnis der Funktionsweise des Internets zu und lernen, was hinter den Kulissen passiert, wenn Sie einen URL in der Adressleiste des Browsers eingeben. Auch wenn der Besuch einer Website einfach aussieht, so umfasst er viele verborgene Prozesse, etwa den Aufbau eines HTTP-Requests, die Identifikation der Domain, an die der Request gesendet werden soll, die Übersetzung der Domain in eine IP-Adresse, die Rückgabe einer Response und so weiter.
In diesem Kapitel lernen Sie grundlegende Konzepte und Begriffe kennen wie etwa Schwachstellen, Bug-Bounties, Clients, Server, IP-Adressen und HTTP. Sie bekommen eine grundsätzliche Vorstellung davon, wie unerwartete Aktionen und unerwartete Eingaben sowie der Zugriff auf private Informationen zu Schwachstellen führen. Dann sehen wir uns an, was passiert, wenn Sie einen URL in der Adressleiste Ihres Browsers eingeben, wie HTTP-Requests und -Responses aussehen sowie die verschiedenen HTTP-Aktionsverben. Wir beenden das Kapitel mit der Erklärung, was »HTTP ist zustandslos« bedeutet.
1.1Schwachstellen und Bug-Bounties
Eine Schwachstelle (engl. vulnerability) in einer Anwendung, ermöglicht es einer böswilligen Person, unerwünschte Aktionen auszuführen oder Zugriff auf Informationen zu erhalten, auf die sie normalerweise nicht zugreifen darf.
Während Sie Anwendungen testen, sollten Sie daran denken, dass Angreifer solche Schwachstellen durch beabsichtigte und unbeabsichtigte Aktionen öffnen können. Wenn Sie etwa die ID eines Datensatzes ändern, um auf Informationen zuzugreifen, die Sie eigentlich nicht sehen sollten, dann ist das ein Beispiel für eine (vom Entwickler) nicht beabsichtigte Aktion.
Nehmen wir an, Sie können auf einer Website ein Profil mit Name, E-Mail, Geburtsdatum und Adresse anlegen. Diese Informationen sollen vertraulich behandelt werden und nur für jene Benutzer sichtbar sein, die als Ihre Freunde bekannt sind. Wenn es die Website aber jedem erlaubt, Sie ohne Ihre Zustimmung als Freund aufzunehmen, dann ist das eine Schwachstelle. Denn selbst wenn die Site Ihre Daten vor Nicht-Freunden schützt, kann Sie jeder als Freund hinzufügen und so auf diese Informationen zugreifen. Während Sie eine Website testen, sollten Sie immer darüber nachdenken, wie jemand die vorhandene Funktionalität missbrauchen könnte.
Ein Bug-Bounty ist eine Belohnung, die eine Website oder ein Unternehmen an jemanden bezahlt, der (ethisch sauber) eine Schwachstelle entdeckt und meldet. Die Belohnung ist oft Geld und reicht von ein paar Zehn bis zu Tausenden von Dollar. Andere Beispiele für Bounties sind Kryptowährungen, Flugmeilen, Belohnungspunkte, Gutschriften und so weiter.
Bietet ein Unternehmen Bug-Bounties an, legt es ein Programm auf. Wir verwenden diesen Begriff in diesem Buch für die Regeln und das Rahmenwerk, die Unternehmen für Leute aufstellen, die das Unternehmen auf Schwachstellen testen wollen. Beachten Sie, dass sich das von den sogenannten Vulnerability Disclosure Programs (VDPs) anderer Unternehmen unterscheidet. Bug-Bounties bieten eine monetäre Belohnung, während ein VDP keine Bezahlung bietet (auch wenn das Unternehmen eine Prämie gewähren kann). Ein VDP ist nur eine Möglichkeit für ethische Hacker, Schwachstellen an ein Unternehmen zu melden, die es dann beheben kann. Zwar wurden nicht alle Reports in diesem Buch finanziell belohnt, doch alle Beispiele stammen von Hackern, die an Bug-Bounty-Programmen teilnehmen.
1.2Client und Server
Ihr Browser ist auf das Internet angewiesen, ein Netzwerk aus Computern, die einander Nachrichten senden. Wir nennen diese Nachrichten Pakete. Pakete umfassen die von Ihnen gesendeten Daten sowie Informationen darüber, wo diese Daten herkommen und wohin sie gehen. Jeder Computer im Internet hat eine Adresse, an die Pakete gesendet werden können. Doch einige Computer akzeptieren nur bestimmte Arten von Paketen, während wieder andere nur Pakete von einer beschränkten Liste anderer Computer empfangen. Der empfangende Computer muss dann entscheiden, was mit den Paketen geschehen und wie reagiert werden soll. In diesem Buch konzentrieren wir uns nur auf die in den Paketen enthaltenen Daten (die HTTP-Nachrichten), nicht auf die Pakete selbst.
Ich bezeichne diese Computer entweder als Clients oder als Server. Der die Requests (Anforderungen) initiierende Computer ist üblicherweise der Client, unabhängig davon, ob der Request durch einen Browser, die Kommandozeile und so weiter initiiert wird. Server stehen für die Websites und Webanwendungen, die diese Requests empfangen. Ist ein Konzept sowohl auf Clients als auch auf Server anwendbar, spreche ich ganz allgemein von Computern.
Da im Internet eine beliebige Anzahl von Computern miteinander reden kann, benötigen wir Richtlinien, auf welche Art sie über das Internet miteinander kommunizieren sollen. Diese liegen in Form der sogenannten Request for Comments (RFCs) vor, die Standards definieren, wie Computer sich zu verhalten haben. Zum Beispiel definiert das Hypertext Transfer Protocol (HTTP), wie ein Internet-Browser mit einem entfernten Server über das Internet Protocol (IP) kommuniziert. Bei diesem Szenario müssen sowohl Client als auch Server die gleichen Standards implementieren, um die Pakete verstehen zu können, die sie senden und empfangen.
1.3Was beim Besuch einer Website passiert
Weil wir uns in diesem Buch auf HTTP-Nachrichten konzentrieren, geben wir in diesem Abschnitt eine (auf hohem Niveau angesiedelte) Übersicht des Prozesses, der durchlaufen wird, wenn Sie einen URL in der Adressleiste Ihres Browsers eingeben.
1.3.1Schritt 1: Extrahieren des Domainnamens
Sobald Sie http://www.google.com/ eingegeben haben, bestimmt Ihr Browser den Domainnamen aus dem URL. Ein Domainname identifiziert die Website, die Sie besuchen wollen, und muss bestimmten Regeln folgen, die durch die RFCs definiert sind. Beispielsweise darf ein Domainname nur alphanumerische Zeichen und Unterstriche enthalten. Eine Ausnahme sind internationalisierte Domainnamen, die aber den Rahmen dieses Buchs sprengen würden. Wer mehr über sie erfahren will, sei auf RFC 3490 verwiesen, das deren Nutzung definiert. Die Domain ist eine Möglichkeit, die Adresse eines Servers zu ermitteln.
1.3.2Schritt 2: Auflösen der IP-Adresse
Nachdem der Domainname ermittelt wurde, nutzt Ihr Browser das IP, um die mit der Domain verknüpfte IP-Adresse zu bestimmen. Dieser Prozess wird als Auflösung (engl. Resolving) der IP-Adresse bezeichnet, und jede Domain im Internet muss zu einer IP-Adresse aufgelöst werden, um funktionieren zu können.
Es gibt zwei Arten von IP-Adressen: das Internet Protocol Version 4 (IPv4) und das Internet Protocol Version 6 (IPv6). IPv4-Adressen sind als vier durch Punkte voneinander getrennte Zahlen organisiert, und jede dieser Zahlen liegt im Bereich von 0 bis 255. IPv6 ist die neueste Version des Internetprotokolls. Sie wurde entwickelt, um das Problem ausgehender IPv4-Adressen zu lösen. IPv6-Adressen bestehen aus acht Gruppen von vier Hexadezimalzahlen, die durch Doppelpunkte voneinander getrennt sind, doch es gibt auch Methoden, um IPv6-Adressen zu verkürzen. So ist 8.8.8.8 beispielsweise eine IPv4-Adresse und 2001:4860:4860::8888 eine verkürzte IPv6-Adresse.
Um eine IP-Adresse über den Domainnamen nachzuschlagen, sendet Ihr Computer einen Request an einen Server des Domain Name...
Inhaltsverzeichnis
- Cover
- Über den Autor
- Titel
- Impressum
- Inhalt
- Vorwort
- Danksagung
- Einführung
- 1 Bug-Bounty-Grundlagen
- 2 Offene Redirects
- 3 HTTP Parameter Pollution
- 4 Cross Site Request Forgery
- 5 HTML Injection und Content Spoofing
- 6 Carriage Return/Line Feed Injection
- 7 Cross-Site Scripting (XSS)
- 8 Template Injection
- 9 SQL Injection
- 10 Server-Side Request Forgery
- 11 Externe Entitäten bei XML
- 12 Remote Code Execution
- 13 Speicher-Schwachstellen
- 14 Übernahme von Subdomains
- 15 Race Conditions
- 16 Insecure Direct Object References
- 17 OAuth-Schwachstellen
- 18 Schwachstellen in Anwendungslogik und -konfiguration
- 19 Eigene Bug-Bounties
- 20 Bug-Reports
- Anhang A Tools
- Anhang B Ressourcen
- Stichwortverzeichnis