2024-02-10 21:30:13 +00:00
# 웹 API Pentesting
2022-04-28 16:01:33 +00:00
< details >
2024-03-29 21:25:26 +00:00
< summary >< strong > htARTE (HackTricks AWS Red Team Expert)</ strong > 를 통해 **제로부터 영웅까지 AWS 해킹 배우기** !</ summary >
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2023-12-31 01:24:39 +00:00
2024-03-29 21:25:26 +00:00
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그** ](https://peass.creator-spring.com )를 얻으세요
2024-03-17 16:41:54 +00:00
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
2024-03-29 21:25:26 +00:00
* **💬 [Discord 그룹 ](https://discord.gg/hRep4RUj7f )** 또는 [텔레그램 그룹 ](https://t.me/peass )에 **가입**하거나 **트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )를 **팔로우**하세요.
2024-03-17 16:41:54 +00:00
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
2022-04-28 16:01:33 +00:00
< / details >
2024-03-29 21:25:26 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2024-03-29 21:25:26 +00:00
[**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )를 사용하여 세계에서 가장 **고급 커뮤니티 도구**를 활용한 **워크플로우를 쉽게 구축하고 자동화**하세요.\
2024-02-10 21:30:13 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2024-02-10 21:30:13 +00:00
## API Pentesting 방법론 요약
2021-06-08 18:47:44 +00:00
2024-03-29 21:25:26 +00:00
API Pentesting은 취약점을 발견하기 위한 체계적인 접근 방식을 포함합니다. 이 가이드는 실용적인 기술과 도구를 강조한 포괄적인 방법론을 요약합니다.
2022-12-21 10:38:32 +00:00
2024-03-17 16:41:54 +00:00
### **API 유형 이해**
2020-07-15 15:43:14 +00:00
2024-03-29 21:25:26 +00:00
* **SOAP/XML 웹 서비스**: 일반적으로 `?wsdl` 경로에서 찾을 수 있는 문서 형식인 WSDL을 활용합니다. **SOAPUI** 및 **WSDLer** (Burp Suite 확장 프로그램)과 같은 도구는 파싱 및 요청 생성에 유용합니다. 예제 문서는 [DNE Online ](http://www.dneonline.com/calculator.asmx )에서 접근할 수 있습니다.
* **REST API (JSON)**: 문서는 주로 WADL 파일로 제공되지만 [Swagger UI ](https://swagger.io/tools/swagger-ui/ )와 같은 도구는 더 사용자 친화적인 인터페이스를 제공합니다. **Postman**은 예제 요청을 생성하고 관리하는 데 유용한 도구입니다.
2024-03-17 16:41:54 +00:00
* **GraphQL**: API에 대한 데이터의 완전하고 이해하기 쉬운 설명을 제공하는 쿼리 언어입니다.
2021-06-08 20:38:29 +00:00
2024-02-10 21:30:13 +00:00
### **실습 랩**
2021-06-08 20:38:29 +00:00
2024-03-17 16:41:54 +00:00
* [**VAmPI** ](https://github.com/erev0s/VAmPI ): OWASP top 10 API 취약점을 다루는 실습을 위한 의도적으로 취약한 API입니다.
2021-06-08 20:38:29 +00:00
2024-02-10 21:30:13 +00:00
### **API Pentesting을 위한 효과적인 트릭**
2021-06-08 20:38:29 +00:00
2024-03-29 21:25:26 +00:00
* **SOAP/XML 취약점**: DTD 선언이 종종 제한되지만 CDATA 태그를 사용하면 XML이 유효한 상태로 유지되는 경우 페이로드 삽입이 가능할 수 있습니다.
* **권한 상승**: 권한 수준이 다른 엔드포인트를 테스트하여 무단 액세스 가능성을 식별합니다.
* **CORS 구성 오류**: 인증된 세션을 통해 CSRF 공격을 통해 악용 가능성을 조사하기 위해 CORS 설정을 조사합니다.
* **엔드포인트 검색**: API 패턴을 활용하여 숨겨진 엔드포인트를 발견합니다. 퍼저와 같은 도구를 사용하여 이 프로세스를 자동화할 수 있습니다.
* **매개변수 조작**: 요청에 매개변수를 추가하거나 교체하여 무단 데이터 또는 기능에 액세스해 보세요.
* **HTTP 메서드 테스트**: 요청 방법을 변경하여(GET, POST, PUT, DELETE, PATCH) 예기치 않은 동작이나 정보 노출을 발견합니다.
* **Content-Type 조작**: 다른 콘텐츠 유형(x-www-form-urlencoded, application/xml, application/json)으로 전환하여 파싱 문제나 취약점을 테스트합니다.
* **고급 매개변수 기술**: JSON 페이로드에서 예상치 못한 데이터 유형을 테스트하거나 XXE 삽입을 위해 XML 데이터를 조작해 보세요. 더 넓은 테스트를 위해 매개변수 오염 및 와일드카드 문자를 시도해 보세요.
2024-03-17 16:41:54 +00:00
* **버전 테스트**: 오래된 API 버전은 공격에 민감할 수 있습니다. 항상 여러 API 버전을 확인하고 테스트하세요.
2021-03-04 11:40:50 +00:00
2024-02-10 21:30:13 +00:00
### **API Pentesting을 위한 도구 및 자료**
2021-03-04 11:40:50 +00:00
2024-03-17 16:41:54 +00:00
* **kiterunner**: API 엔드포인트를 발견하는 데 탁월합니다. 대상 API에 대해 경로 및 매개변수를 스캔하고 브루트 포스하는 데 사용하세요.
2024-02-08 21:36:15 +00:00
```bash
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
```
2024-03-29 21:25:26 +00:00
* API 보안 테스트를 위한 **automatic-api-attack-tool** , **Astra** , **restler-fuzzer**와 같은 추가 도구는 공격 시뮬레이션부터 퍼징 및 취약점 스캔까지 다양한 기능을 제공합니다.
2022-09-30 10:27:15 +00:00
2024-03-17 16:41:54 +00:00
### **학습 및 연습 자료**
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
* **OWASP API Security Top 10**: 일반적인 API 취약점을 이해하기 위한 필수 독서 ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
* **API Security Checklist**: API 보안을 위한 포괄적인 체크리스트 ([GitHub 링크](https://github.com/shieldfy/API-Security-Checklist)).
2024-03-29 21:25:26 +00:00
* **Logger++ Filters**: API 취약점을 찾기 위해 Logger++가 유용한 필터를 제공합니다 ([GitHub 링크](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
2024-03-17 16:41:54 +00:00
* **API Endpoints List**: 테스트 목적을 위한 잠재적인 API 엔드포인트의 선별 목록 ([GitHub gist](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
## 참고 자료
2022-09-05 10:17:20 +00:00
2024-03-17 16:41:54 +00:00
* [https://github.com/Cyber-Guy1/API-SecurityEmpire ](https://github.com/Cyber-Guy1/API-SecurityEmpire )
2022-04-28 16:01:33 +00:00
2024-03-29 21:25:26 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2024-03-29 21:25:26 +00:00
[**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )를 사용하여 세계에서 가장 고급 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축하고 자동화**하세요.\
2024-02-10 21:30:13 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2022-04-28 16:01:33 +00:00
< details >
2024-03-29 21:25:26 +00:00
< summary > < strong > 제로부터 영웅이 될 때까지 AWS 해킹을 배우세요< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2023-12-31 01:24:39 +00:00
2024-03-17 16:41:54 +00:00
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그** ](https://peass.creator-spring.com )를 얻으세요
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
2024-03-29 21:25:26 +00:00
* **💬 [디스코드 그룹 ](https://discord.gg/hRep4RUj7f )** 또는 [텔레그램 그룹 ](https://t.me/peass )에 **가입**하거나 **트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )**를 팔로우**하세요.
2024-03-17 16:41:54 +00:00
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
2022-04-28 16:01:33 +00:00
< / details >