Merhabalar
Önceden söz verdiğim gibi bu yazımda sizlere API Enumerationdan bahsedeceğim. Lakin bu yazımda önbilgiye ihtiyacımız olacak o yüzden sizlere bu iki yazımı okumanızı öneririm Recon For Bug Bounty – 1 , API Nedir? .
Recon yazımda bahsettiğim gibi burada şu adımları izleyeceğiz G-M-D-H.
The G(Goal) of API Enumeration
Buradaki amaçlarımız şunlar olmalı:
->Saldıracağımız yüzeyi genişletmeye çalışmak. Yani daha fazla alanda çalışmak.
->Normalde ulaşılabilir olmayan endpointlere
->Bazı endpointler manuel olarak müdahale gerekebilir. Örneğin bussines logic bugları
The M(Method) of API Enumeration
Methodumuz targetımıza yaklaşım şeklimizdir API’lerde metodlarımız aşağıdaki gibi olmalıdır:
->Öncelikle yeni URL’ler keşfetmeye çalışmalıyız.
->Önceden yazımda verdiğim örnekte /api/v1/users/ var ise /api/v1/post/ bulmayı önermiştim bu tarz işlemler uygulamalıyız.
->En önemlisi API’nın hangi parametrelerle endpointlere ulaşabileceğimizi düşünmeliyiz.
İki tarz yaklaşım tarzımı olacak.
Otomatik Toollar ile
->Burada yeni URL’ler bulmak isteyebileceğimiz için brute force kullanabileceğimiz toollar lazım.
-> Brute Force denemek için wordlist’e ihtiyacımız var. Küçük bir kaç araştırma ile internetten istediğiniz
wordlist’i bulabilir ve spesifik eklemeler yapabilirsiniz.
-> Kullanabileceğimiz toollar şu şekilde Burp Intruder(brute force için) , ffuf(güçlü, hızlı ama komplex) ,arjun(yeni parametreleri keşfetmeye yarar)
Manuel Test yaparak
-> Webapp’in public source olarak bir şey koymuş mu diye bakabiliriz.
-> Developerlar için olan dokümantasyonları kullanabiliriz.
->App üzerinde gezinmeler yapabiliriz.
The D(Destination) of API Enumeration
->Burp suite atabileceğimiz işe yarayan URL’leri kullanacağız.
->Sensitive Data Exposure için her bir endpointe tek tek bakacağız.
İşe Yarayacak URL’imizi Bulduk Peki Daha Sonra Ne Yapacağız ?
Geldik hackleme kısmına. Bu kısım uzun sürecek o yüzden buna diğer yazılarımda bahsedeceğim. Biz yine de biraz değinelim. Elimizde sağlam bir url ele geçirdiğimizi varsayıyorum. Gözümü şunlara dikelim
->Birçok information dönen endpointler
->ID’ler
->İnput girdiğimizde yansıma olup olmadığına bakmak.
->API içeren yerleri bulmak.
Bu yazımda bunları sindirerek öğrenmek şimdilik bize yeter. İlerleyen yazılarımda toolları nasıl kullanacağımıza ve nasıl hackleyebileceğimizi örnekleriyle birlikte inceleyeceğiz.