ebook img

Web Hacking 101 How to Make Money Hacking Ethically PDF

142 Pages·2016·5.87 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Web Hacking 101 How to Make Money Hacking Ethically

Web Hacking 101 How to Make Money Hacking Ethically Peter Yaworski This book is for sale at http://leanpub.com/web-hacking-101 This version was published on 2016-06-07 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. © 2015 - 2016 Peter Yaworski Tweet This Book! Please help Peter Yaworski by spreading the word about this book on Twitter! The suggested tweet for this book is: Can’t wait to read Web Hacking 101: How to Make Money Hacking Ethically by @yaworsk #bugbounty The suggested hashtag for this book is #bugbounty. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#bugbounty For Andrea and Ellie. Thanks for supporting my constant roller coaster of motivation and confidence. This book wouldn’t be what it is if it were not for the HackerOne Team, thank you for all the support, feedback and work that you contributed to make this book more than just an analysis of 30 disclosures. Contents 1. Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 How It All Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Just 30 Examples and My First Sale . . . . . . . . . . . . . . . . . . . . . . . . 4 Who This Book Is Written For . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Chapter Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Word of Warning and a Favour . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4. HTML Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1. Coinbase Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2. HackerOne Unintended HTML Inclusion . . . . . . . . . . . . . . . . . . . 15 3. Within Security Content Spoofing . . . . . . . . . . . . . . . . . . . . . . . 16 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5. HTTP Parameter Pollution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1. HackerOne Social Sharing Buttons . . . . . . . . . . . . . . . . . . . . . . 20 2. Twitter Unsubscribe Notifications . . . . . . . . . . . . . . . . . . . . . . . 21 3. Twitter Web Intents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6. CRLF Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1. Twitter HTTP Response Splitting . . . . . . . . . . . . . . . . . . . . . . . . 26 2. v.shopify.com Response Splitting . . . . . . . . . . . . . . . . . . . . . . . 28 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7. Cross-Site Request Forgery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 CONTENTS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1. Shopify Export Installed Users . . . . . . . . . . . . . . . . . . . . . . . . . 31 2. Shopify Twitter Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3. Badoo Full Account Takeover . . . . . . . . . . . . . . . . . . . . . . . . . 33 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 8. Application Logic Vulnerabilities . . . . . . . . . . . . . . . . . . . . . . . . . 36 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1. Shopify Administrator Privilege Bypass . . . . . . . . . . . . . . . . . . . . 37 2. Starbucks Race Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3. Binary.com Privilege Escalation . . . . . . . . . . . . . . . . . . . . . . . . 39 4. HackerOne Signal Manipulation . . . . . . . . . . . . . . . . . . . . . . . . 40 5. Shopify S3 Buckets Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6. HackerOne S3 Buckets Open . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7. Bypassing GitLab Two Factor Authentication . . . . . . . . . . . . . . . . . 44 8. Yahoo PHP Info Disclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 9. HackerOne Hacktivity Voting . . . . . . . . . . . . . . . . . . . . . . . . . . 47 10. Accessing PornHub’s Memcache Installation . . . . . . . . . . . . . . . . 50 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9. Cross-Site Scripting Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 1. Shopify Wholesale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2. Shopify Giftcard Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3. Shopify Currency Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4. Yahoo Mail Stored XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5. Google Image Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6. Google Tagmanager Stored XSS . . . . . . . . . . . . . . . . . . . . . . . . 63 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 10. SQL Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 1. Drupal SQL Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 11. Open Redirect Vulnerabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 1. Shopify Theme Install Open Redirect . . . . . . . . . . . . . . . . . . . . . 70 2. Shopify Login Open Redirect . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3. HackerOne Interstitial Redirect . . . . . . . . . . . . . . . . . . . . . . . . 72 CONTENTS Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 12. Sub Domain Takeover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 1. Ubiquiti sub domain Takeover . . . . . . . . . . . . . . . . . . . . . . . . . 74 2. Scan.me Pointing to Zendesk . . . . . . . . . . . . . . . . . . . . . . . . . 75 3. Swiping Facebook Official Access Tokens . . . . . . . . . . . . . . . . . . . 76 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 13. XML External Entity Vulnerability . . . . . . . . . . . . . . . . . . . . . . . . . 80 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 1. Read Access to Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 2. Facebook XXE with Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 14. Remote Code Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 1. Polyvore ImageMagick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 15. Template Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 1. Uber Angular Template Injection . . . . . . . . . . . . . . . . . . . . . . . 90 2. Uber Template Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3. Rails Dynamic Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 16. Server Side Request Forgery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 1. ESEA SSRF and Querying AWS Metadata . . . . . . . . . . . . . . . . . . . 96 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 17. Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Buffer Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Read out of Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Memory Corruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 1. PHP ftp_genlist() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 CONTENTS 2. Python Hotshot Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3. Libcurl Read Out of Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4. PHP Memory Corruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 18. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Network, Subdomain and Key File Information Gathering . . . . . . . . . . . . 108 Nmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Recon-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 KnockPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Browsing and Understanding the Application . . . . . . . . . . . . . . . . . . . 109 Fingerprinting Technologies Used . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Digging Deeper for Vulnerabilities . . . . . . . . . . . . . . . . . . . . . . . . . . 111 19. Vulnerability Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Read the disclosure guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Include Details. Then Include More. . . . . . . . . . . . . . . . . . . . . . . . . 112 Confirm the Vulnerability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Show Respect for the Company . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Bounties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Don’t Shout Hello Before Crossing the Pond . . . . . . . . . . . . . . . . . . . . 115 Parting Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 20. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Burp Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Knockpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 HostileSubBruteforcer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 sqlmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Nmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Eyewitness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Shodan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 What CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Nikto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Recon-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 idb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Bucket Finder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Google Dorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 IPV4info.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Firefox Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 FoxyProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 User Agent Switcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Firebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 CONTENTS Hackbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Websecurify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Cookie Manager+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 XSS Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Offsec Exploit-db Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Wappalyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 21. Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Online Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Web Application Exploits and Defenses . . . . . . . . . . . . . . . . . . . . . 124 The Exploit Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Udacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Bug Bounty Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Hackerone.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Bugcrowd.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Synack.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Cobalt.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Video Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 youtube.com/yaworsk1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Seccasts.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 OWASP.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Hackerone.com/hacktivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Twitter #infsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Twitter @disclosedh1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Web Application Hackers Handbook . . . . . . . . . . . . . . . . . . . . . . . 126 Bug Hunters Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Recommended Blogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 philippeharewood.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Philippe’s Facebook Page - www.facebook.com/phwd-113702895386410 . . 126 fin1te.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 NahamSec.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 blog.it-securityguard.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 blog.innerht.ml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 blog.orange.tw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Portswigger Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Nvisium Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 blog.zsec.uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Bug Crowd Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 HackerOne Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 22. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Black Hat Hacker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 CONTENTS Buffer Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Bug Bounty Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Bug Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 CRLF Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Cross Site Request Forgery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Cross Site Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 HTML Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 HTTP Parameter Pollution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 HTTP Response Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Memory Corruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Open Redirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Penetration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Researchers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Response Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Responsible Disclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Vulnerability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Vulnerability Coordination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Vulnerability Disclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 White Hat Hacker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.