API Nedir ?

Merhaba

Bu yazımda sizlere API’den bahsedeceğim.

API nedir ?

API(application programing interface) yani aplikasyon ara yüzü olarak çevirebiliriz. Bizim için API bir şeyi ifade etmez ama bilgisayar için API demek data kaynağı veya arka plan mantığıdır.

-API aynı data kaynağından hem web hem de mobile aplikasyonlara aktarılabilir. Bu da bir hacker’a geliştiricilerin(developerların) tembel olduğunu ve kesin bir açık bulabileceğimizi gösterir.

-APIler genelde text formatında yazılır (json,xml vb.)

-APIler bize data da bulunan bir müşteriyi ve ona ait bilgileri döndürürler.

 

JSON ‘a kısa bir bakış

-Json herhangi bir datanın text formatına dönüştürülmüş halidir.

-Datada bulunan Key-Value bilgilerini alırız.

-Süslü parantez “{ “ile başlayıp onla biter “}”.

.-Json’da objeleri “{}” içinde ; array ve list’ler “[]”

Kısacası Json’ı pythonda yazılmış bir dictionary(sözlük) olarak düşünebiliriz. Örnek olması amacından aşağıdaki yazdığım kodu inceleyebilirsiniz.

,

API’leri Nasıl Buluruz?

Buna özel API enumeration’dan bahsedeceğim. Yine de bu yazımızda biraz giriş yapalım.

-Bir web uygulamasının aynı zamanda mobile uygulaması varsa. Yukarıda bahsettiğim gibi.

-Bir web sitesinin komplex bir frontend ‘i varsa.

-Bir web sitesinin yüklemesi uzun sürüyorsa.

-Developer dökümentasyonu varsa.

-Hemen hemen bütün mobile uygulamalarda.

Yukarıdaki verdiğim örneklerde API’yi rahatça bulabiliriz.

API çeşitleri

Burada sizlere en çok kullanılan API çeşitlerinden bahsedeceğim.

RESTful :

-Yukarı tarafta gördüğünüz gibi gözükürler.

-Aplikasyonun nasıl çalıştığını bilirsek eğer yeni API endpointleri bulabliriz.

Örn: Diyelim ki youtubeda şöyle çalışıyor  GET/video/1 bizim düşünmemiz gereken şudur : Eğer GET varsa o zaman Deletede vardır, diye tahmin etmeliyiz Delete/video/1 gibi.

-Yukarıdaki örneği Burpsuite kullanarak da yapabiliriz. Intruder’a isteğimizi yollarız daha sonra wordlistimizi payload olarak kullanıp denemeler yapabiliriz.

GraphQL:

-GraphQL  de API’yi genelde gql?q=.. , q?q=.. , graphql?q=.. ve benzeri şekillerde bulunur.

-IDOR bulması en kolay API çeşididir.

API Dokümantasyonu

-Bazen APIler developerların kullanması için kendi dokümantasyonları olur. Bunu recon amaçlı olarak kullanabiliriz. Bu dokümantasyonlarda endpointleri listelemiş olabilir ve bu endpointlere nasıl ulaşacağımızı detaylarda saklamış olabilirler.

-Dokümantasyonları ararken “[target]developer.docs” veya “[target]API” kullanacağız.

-Bazen developerlar için tasarlanmış API’leri stackoverflow da bulabiliriz.

API Version

-Bazen buglar yeni versiyonda düzeltilmiş olabilir ama eski versiyon API hala sitede olabilir ve bu bug devam ediyor olabilir.

-/api/v3/users/1/edit varsa eğer /api/v1/users/1/edit olarak deneyebiliriz.

 

Bu yazımda temel API”ye değindik.API enumeration ‘da görüşmek üzere.

About The Author

Reply