# API 해킹의 모든 것
REST와 그래프QL 웹 API기초부터 보안 취약점, 해킹 툴, 퍼징 등 공격 실습까지
페이스북을 통해서 우연히 신청한 서평단을 통해 이 책을 읽게 되었습니다. 현재 제이펍 페이지에서는 매번 다양한 이벤트와 책을 소개해주는데 IT 서적에 관심이 있다면 꼭 팔로우 해두면 좋을 것 같습니다!
여러분은 프론트엔드에서 호출하는 API나 백엔드에서 개발하는 API에 대해서 얼마나 알고 있나요?
CORS, XSS, SQL 인젝션
을 혹시 프레임워크에 의존해서 설정하고 계시지는 않을까요? 책을 통해서 앞으로 내가 보안 전문가가 아니더라도 나의 API를 직접 진단하고 보안 대책을 세울 수 있게 합니다. 이 책은 API 보안을 다뤄 결국에는 API 해킹을 다루는 책입니다. 웹/해킹/보안을 다루는 책이므로 침투 테스트나 보안에 관심있는 백엔드 개발자에게 추천하는 책입니다.
API 테스트의 범위
부터 API 테스트 환경 구축
, API 공격 실습
과 같은 내용이 담겨 있습니다. 단순히 사이트에 접속하기 위해서 URL을 입력하지만, 사용되는 프로토콜과 DNS, port와 같은 네트워크 구성요소를 사용하여 웹 서버에 데이터를 요청합니다. 이후에는 여러 상호작용을 통해 클라이언트와 웹 서버간의 데이터를 교환합니다. 이때도 네트워크 구성요소가(게이트웨이 등) 사용됩니다. 해킹에는 여러 종류가 있습니다. 네트워크를 공격할 수도 있고, 무차별 대입(brute force) 등 공격자는 다양한 방법으로 해킹을 시도합니다. 소프트웨어 패키지, 운영체제 정보, 시스템 로그, 소프트웨어 버그 등 어떤 정보던 사용하여 공격에 활용합니다. 내가 보내는 요청에는 정보가 담겨 있습니다. 따라서, 해킹의 기본인 정보를 공격자가 쉽게 얻을 수 없도록 하는 것이 가장 중요하다고 합니다.
칼리리눅스, 버프스위트, 폭시 프록시와 같이 이름만 들어도 어려운 툴들을 사용하는 것만 같은 생각이 든다. 하지만, 책에서 진행하는 절차만 따라도 친절하게 학습 환경을 구축할 수 있습니다.
어떤 서비스는 간단하게 github에 접속하여 레포지토리만 들어가도 소스코드를 확인할 수 있다. 소스코드에서 secret key를 찾는 간단한 실습부터, 엔드포인트에 대한 취약점, JWT와 같은 토큰을 악용학나 분석하는 방법도 배울 수 있습니다.
가장 재미있는 부분은 퍼징입니다. 사용자에게 입력권을 준다는 것이 얼마나 무서운 일인지, 유효성 검사의 중요한지 알 수 있습니다.
이 책을 읽으면 나름 신경쓴다고 신경쓴 나의 코드들이 도둑들에게 얼마나 활짝 열려있는지 알 수 있습니다. 또한, 해킹에 대해서 모르는 나도 재미있게 API 해킹에 대해서 실습하면서 학습할 수 있습니다. 앞으로 API 취약점에 대해서 항상 분석하면서 보안에 신경쓸 수 있게 해주는 고마운 책입니다. 이 책의 마무리에는 이렇게 써있습니다. 여러분이 API를 테스트하지 않는다면 사이버 범죄자가 여러분 대신 API를 테스트할 겁니다.
앞으로 API 보안에 신경쓸 여러 분에게 이 책을 추천합니다.