hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

7.3 KiB

Testiranje Web API-ja

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Koristite Trickest da biste lako izgradili i automatizovali tokove rada pomoću najnaprednijih alata zajednice na svetu.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Sažetak Metodologije Testiranja API-ja

Testiranje API-ja uključuje strukturiran pristup otkrivanju ranjivosti. Ovaj vodič obuhvata sveobuhvatnu metodologiju, naglašavajući praktične tehnike i alate.

Razumevanje Tipova API-ja

  • SOAP/XML Web Servisi: Koristite WSDL format za dokumentaciju, obično pronađenu na putanjama ?wsdl. Alati poput SOAPUI i WSDLer (Burp Suite Extension) su instrumentalni za parsiranje i generisanje zahteva. Primer dokumentacije je dostupan na DNE Online.
  • REST API-ji (JSON): Dokumentacija često dolazi u WADL fajlovima, ali alati poput Swagger UI pružaju korisniji interfejs za interakciju. Postman je vredan alat za kreiranje i upravljanje primerima zahteva.
  • GraphQL: Upitni jezik za API-je koji nudi potpisan i razumljiv opis podataka u vašem API-ju.

Vežbačke Laboratorije

  • VAmPI: Namerno ranjiv API za praktičnu vežbu, koji pokriva OWASP top 10 API ranjivosti.

Efikasni Trikovi za Testiranje API-ja

  • SOAP/XML Ranjivosti: Istražite XXE ranjivosti, iako su DTD deklaracije često ograničene. CDATA tagovi mogu omogućiti umetanje payload-a ako XML ostane validan.
  • Eskalacija privilegija: Testirajte endpointe sa različitim nivoima privilegija kako biste identifikovali mogućnosti neovlašćenog pristupa.
  • CORS Pogrešne Konfiguracije: Istražite CORS podešavanja radi potencijalne iskorišćivosti putem CSRF napada iz autentifikovanih sesija.
  • Otkrivanje Endpoinata: Iskoristite obrasce API-ja da biste otkrili skrivene endpointe. Alati poput fuzera mogu automatizovati ovaj proces.
  • Manipulacija Parametrima: Eksperimentišite sa dodavanjem ili zamenom parametara u zahtevima kako biste pristupili neovlašćenim podacima ili funkcionalnostima.
  • Testiranje HTTP Metoda: Varirajte metode zahteva (GET, POST, PUT, DELETE, PATCH) kako biste otkrili neočekivano ponašanje ili otkrivanje informacija.
  • Manipulacija Tipom Sadržaja: Prebacujte se između različitih tipova sadržaja (x-www-form-urlencoded, application/xml, application/json) kako biste testirali probleme sa parsiranjem ili ranjivosti.
  • Napredne Tehnike Parametara: Testirajte sa neočekivanim tipovima podataka u JSON payload-ima ili se igrajte sa XML podacima za XXE ubacivanja. Takođe, pokušajte sa zagađivanjem parametara i wildcard karakterima za šire testiranje.
  • Testiranje Verzija: Starije verzije API-ja mogu biti podložnije napadima. Uvek proverite i testirajte protiv više verzija API-ja.

Alati i Resursi za Testiranje API-ja

  • kiterunner: Odličan za otkrivanje API endpointa. Koristite ga za skeniranje i brute force putanja i parametara protiv ciljanih API-ja.
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
  • Dodatni alati poput automatic-api-attack-tool, Astra i restler-fuzzer nude prilagođene funkcionalnosti za testiranje sigurnosti API-ja, uključujući simulaciju napada, fuzzing i skeniranje ranjivosti.

Resursi za učenje i vežbanje

  • OWASP API Security Top 10: Osnovno štivo za razumevanje uobičajenih ranjivosti API-ja (OWASP Top 10).
  • API Security Checklist: Kompletna lista za obezbeđivanje API-ja (GitHub link).
  • Logger++ Filters: Za pronalaženje ranjivosti API-ja, Logger++ nudi korisne filtere (GitHub link).
  • Lista API Endpoints: Odabrana lista potencijalnih API endpointa za testiranje (GitHub gist).

Reference

Koristite Trickest da biste lako kreirali i automatizovali radne tokove uz pomoć najnaprednijih alata zajednice na svetu.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: