High frequency security bug hunting: 120 days, 120 bugs
Great work, though I wish this blog were published after the redactions were updated so the findings could be really public.<p>In particular, I really like this:<p><i>&quot;When you submit bugs, remember that you aren&#x27;t actually entitled to anything. Unfortunately, that&#x27;s how bug bounties work. It&#x27;s a sellers market. If a program doesn&#x27;t pay as much as you&#x27;d expect for a bug, just don&#x27;t participate in that program again. What&#x27;s the point of causing drama over a bug or two? Who is the magic internet man who&#x27;s going to buy your exploit for $1,000,000 using magic internet money (bitcoin) that those Hacker News users keep on referencing? If anyone knows who this person is, do tell me! There&#x27;s no such thing as a &quot;union&quot; for bug bounty hunters nor an easily accessible secondary blackmarket that pays for your bugs in a company.&quot;</i><p>Fascinating. It&#x27;s almost as though a successful security researcher and bug bounty participant is saying the same things Tom and I keep saying here, despite a constant hoard of people outside the industry who believe web application bugs are worth anything on the black market.<p>For anyone who would like to replicate this success, know the following:<p>1. <i>The Web Application Hacker&#x27;s Handbook</i> is your friend. It&#x27;s outdated but it&#x27;s still the best foundation. Follow it up with <i>The Browser Hacker&#x27;s Handbook</i> or <i>The Mobile Application Hacker&#x27;s Handbook.</i><p>2. You can optimize for exotic vulnerabilities in Google, Facebook et al which pay the highest bounties or you can optimize for low hanging fruit in companies which are just opening up a bounty program. The longer a company has a bounty program, the less of a chance you&#x27;ll successfully XSS them in a day of assessing their web applications. Optimizing for finding security vulnerabilities serially in the highest paying bounty programs requires a much greater level of skill, vulnerability intuition (&quot;what did the developers not think about or consider here?&quot;) and patience.<p>3. To do this seriously, learn to recognize vulnerabilities as contextual faults in the the way a particular software&#x27;s implementation matches the developer&#x27;s design expectations. Try not to think of vulnerabilities as classifications, like XSS, CSRF, IDOR, etc. For a first pass to find low hanging fruit it&#x27;s helpful to proceed this way, but for more advanced work you want to look holistically.<p>4. If you want to specialize in application security at the binary level (sandbox escapes, memory corruption - vulnerabilities in operating systems and major OS applications), you&#x27;ll want to learn reverse engineering. Start with <i>Hacking: The Art of Exploitation</i> and then proceed to <i>Reversing: Secrets of Reverse Engineering</i> or <i>Practical Reverse Engineering.</i> You&#x27;ll also want to read <i>The Art of Software Security Assessment</i> and <i>Security Engineering</i> alongside those, to develop excellent source code auditing and binary penetration testing skills. Frankly you should read those no matter what you do in security.<p>5. It&#x27;s very possible to earn a competitive tech salary just by finding vulnerabilities and reporting them (or selling them, if that&#x27;s your bag, but, <i>critically</i>, you won&#x27;t be selling website bugs). However, it&#x27;s difficult and time consuming. It requires an orthogonal skill set to straight development, and while it might not be more time consuming it will certainly <i>appear</i> that way while you&#x27;re doing it. Like much of security work, bug bounty hunting consists of long periods of research and analysis, during which you might feel like you haven&#x27;t made any progress. This is interposed with brief moments of inspiration and a final moment of euphoria when you finally break something after poking at it for days or weeks or months.<p>You can earn a lot by finding lots of bug bounties, or you can do it by finding a few serious flaws in widely used &quot;foundational&quot; software in a year (think browsers, Flash, Rails, Windows, etc.). The latter method requires less context-switching, so if you can swing for that it&#x27;s the way I&#x27;d recommend. All you need is three or four bugs in an OS or browser to match a Bay Area median salary.<p>As always, I&#x27;m very happy to help anyone who would like to get into security professionally.