Hacking APIs: Breaking Web Application Programming Interfaces

  • 5h 8m
  • Corey Ball
  • No Starch Press
  • 2022

An Application Programming Interface (API) is a software connection that allows applications to communicate and share services. Hacking APIs will teach you how to test web APIs for security vulnerabilities. You’ll learn how the common API types, REST, SOAP, and GraphQL, work in the wild. Then you’ll set up a streamlined API testing lab and perform common attacks, like those targeting an API’s authentication mechanisms, and the injection vulnerabilities commonly found in web applications. In the book’s guided labs, which target intentionally vulnerable APIs, you’ll practice:

  • Enumerating API users and endpoints using fuzzing techniques
  • Using Postman to discover an excessive data exposure vulnerability
  • Performing a JSON Web Token attack against an API authentication process
  • Combining multiple API attack techniques to perform a NoSQL injection
  • Attacking a GraphQL API to uncover a broken object level authorization vulnerability

By the end of the book, you’ll be prepared to uncover those high-payout API bugs that other hackers aren’t finding, and improve the security of applications on the web.

About the Author

Corey Ball is a cybersecurity consulting manager at Moss Adams, where he leads its penetration testing services. He has over ten years of experience working in IT and cybersecurity across several industries, including aerospace, agribusiness, energy, financial tech, government services, and healthcare. In addition to a bachelor’s degree in English and philosophy from Sacramento State University, Corey holds the OSCP, CCISO, CEH, CISA, CISM, CRISC, and CGEIT industry certifications.

In this Book

  • Foreword
  • Introduction
  • Preparing for Your Security Tests
  • How Web Applications Work
  • The Anatomy of Web APIs
  • Common API Vulnerabilities
  • Your API Hacking System
  • Setting up Vulnerable API Targets
  • Discovery
  • Endpoint Analysis
  • Attacking Authentication
  • Fuzzing
  • Exploiting Authorization
  • Mass Assignment
  • Injection
  • Applying Evasive Techniques and Rate Limit Testing
  • Attacking GraphQL
  • Data Breaches and Bug Bounties
  • Conclusion
SHOW MORE
FREE ACCESS

YOU MIGHT ALSO LIKE