Hacking und Bug Hunting
eBook - ePub

Hacking und Bug Hunting

Wie man Softwarefehler aufspürt und damit Geld verdient – ein Blick über die Schulter eines erfolgreichen Bug Hunters

Peter Yaworski, Peter Klicman

  1. 269 pagine
  2. German
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

Hacking und Bug Hunting

Wie man Softwarefehler aufspürt und damit Geld verdient – ein Blick über die Schulter eines erfolgreichen Bug Hunters

Peter Yaworski, Peter Klicman

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

Bugs in Websites aufspüren, Gutes tun, Spaß dabei haben... und Geld verdienenEin praktischer Leitfaden für die Suche nach SoftwarefehlernEin Blick hinter die Kulissen: Sie sehen, wie professionelle Bughunter vorgehenEine Anleitung, wie man mit Bughunting Geld verdientLernen 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.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Hacking und Bug Hunting è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Hacking und Bug Hunting di Peter Yaworski, Peter Klicman in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatique e Cybersécurité. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2020
ISBN
9783960889700
Argomento
Informatique

1

Bug-Bounty-Grundlagen

image
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...

Indice dei contenuti

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Inhalt
  6. Vorwort
  7. Danksagung
  8. Einführung
  9. 1 Bug-Bounty-Grundlagen
  10. 2 Offene Redirects
  11. 3 HTTP Parameter Pollution
  12. 4 Cross Site Request Forgery
  13. 5 HTML Injection und Content Spoofing
  14. 6 Carriage Return/Line Feed Injection
  15. 7 Cross-Site Scripting (XSS)
  16. 8 Template Injection
  17. 9 SQL Injection
  18. 10 Server-Side Request Forgery
  19. 11 Externe Entitäten bei XML
  20. 12 Remote Code Execution
  21. 13 Speicher-Schwachstellen
  22. 14 Übernahme von Subdomains
  23. 15 Race Conditions
  24. 16 Insecure Direct Object References
  25. 17 OAuth-Schwachstellen
  26. 18 Schwachstellen in Anwendungslogik und -konfiguration
  27. 19 Eigene Bug-Bounties
  28. 20 Bug-Reports
  29. Anhang A Tools
  30. Anhang B Ressourcen
  31. Stichwortverzeichnis
Stili delle citazioni per Hacking und Bug Hunting

APA 6 Citation

Yaworski, P. (2020). Hacking und Bug Hunting ([edition unavailable]). dpunkt. Retrieved from https://www.perlego.com/book/2113895/hacking-und-bug-hunting-wie-man-softwarefehler-aufsprt-und-damit-geld-verdient-ein-blick-ber-die-schulter-eines-erfolgreichen-bug-hunters-pdf (Original work published 2020)

Chicago Citation

Yaworski, Peter. (2020) 2020. Hacking Und Bug Hunting. [Edition unavailable]. dpunkt. https://www.perlego.com/book/2113895/hacking-und-bug-hunting-wie-man-softwarefehler-aufsprt-und-damit-geld-verdient-ein-blick-ber-die-schulter-eines-erfolgreichen-bug-hunters-pdf.

Harvard Citation

Yaworski, P. (2020) Hacking und Bug Hunting. [edition unavailable]. dpunkt. Available at: https://www.perlego.com/book/2113895/hacking-und-bug-hunting-wie-man-softwarefehler-aufsprt-und-damit-geld-verdient-ein-blick-ber-die-schulter-eines-erfolgreichen-bug-hunters-pdf (Accessed: 15 October 2022).

MLA 7 Citation

Yaworski, Peter. Hacking Und Bug Hunting. [edition unavailable]. dpunkt, 2020. Web. 15 Oct. 2022.