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 pages
  2. German
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et 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

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

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.

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Hacking und Bug Hunting est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Hacking und Bug Hunting par Peter Yaworski, Peter Klicman en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Informatique et CybersĂ©curitĂ©. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Éditeur
dpunkt.verlag
Année
2020
ISBN
9783960889700

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

Table des matiĂšres

  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
Normes de citation pour 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.