Api Nedir? ve Broken object level authorization Güvenlik Açığı Nedir?

Talhaa05

Yeni üye
14 Mar 2022
27
25
N0FPWLq.png


Merhabalar, Değerli TürkHackTeam Ailesi!
Bu konuda sizlere apiler hakkında bilgi ve zafiyetlerini göstereceğim.
Keyifli Okumalar!

F3beZqk.png

API Nedir?

API'ler, iki yazılım bileşeninin belirli tanımlar ve protokoller aracılığıyla birbiriyle iletişim kurmasına olanak tanıyan mekanizmalardır. Örneğin, meteoroloji müdürlüğünün yazılım sistemi, günlük hava durumu verilerini içerir. Telefonunuzdaki hava durumu uygulaması, API'ler aracılığıyla bu sistemle "konuşur" ve telefonunuzda size günlük hava durumu güncellemelerini gösterir.

API'nin Açılımı Nedir?

API'nin açılımı olan Application Programming Interface, Uygulama Programlama Arabirimi anlamına gelir. API'ler bağlamında Uygulama sözcüğü, ayrı bir işlevi bulunan her türlü yazılımı ifade eder. Arabirim, iki uygulama arasındaki hizmet sözleşmesi gibi düşünülebilir.

API'ler Nasıl Çalışır?

API mimarisi genellikle istemci ve sunucu bakımından açıklanır. İsteği gönderen uygulamaya istemci, yanıtı gönderen uygulamaya ise sunucu adı verilir. Yani hava durumu örneğinde, müdürlüğün hava durumu veritabanı bir sunucu iken, mobil uygulama ise bir istemcidir.
Ne zaman ve nasıl oluşturulduklarına dayalı olarak API'ler dört farklı şekilde çalışabilir.

SOAP API'leri​

Bu API'ler, Basit Nesne Erişimi Protokolünü kullanır. İstemci ve sunucu, XML aracılığıyla mesaj alışverişi yapar. Bu, diğerlerine kıyasla pek esnek olmayan ve artık popülerliğini yitiren bir API'dir.

RPC API'leri​

Bu API'lere, Uzak Prosedür Çağrıları adı verilir. İstemci, önce sunucu üzerinde bir işlevi (yani prosedür) tamamlar ve ardından sunucu da çıktıyı istemciye gönderir.

WebSocket API'leri​

verileri aktarmak için JSON nesneleri kullanan başka bir modern web API'si gelişimidir. Bir WebSocket API'si, istemci uygulamaları ile sunucu arasında iki yönlü iletişimi destekler. Sunucunun bağlı istemcilere geri arama mesajları gönderebilmesi nedeniyle REST API'lerinden daha verimlidir.

REST API'leri​

Bunlar günümüzde web'de bulunan en popüler ve esnek API'lerdir. İstemci, sunucuya isteklerini veri olarak gönderir. Sunucu bu istemci girdisini kullanarak dahili işlevleri başlatır ve çıktı verilerini tekrar istemciye gönderir. Aşağıda REST API'lerini daha ayrıntılı inceleyelim.


F3beZqk.png

Şimdide Güvenlik Açıklarına Bakalım!

API1:2023 Broken Object Level Authorization​

1*p39ocyrjchgAhFQ7gHOaAQ.png

Bir kullanıcıya ait object üzerindeki yetkilendirme işleminin kontrol edilmemesi sebebi ile meydana gelmektedir.

Saldırgan, API çağrısı için gönderdiği isteğin içeriğinde mevcut olan ID vb değerleri değiştirerek, yetkisi olmayan bir veriyi elde etmesi / görüntülemesi veyahut üzerinde işlem yapabilmesidir. Bu saldırı Insecure direct object references (IDOR) olarak da bilinmektedir.

Usa case​

Saldırgan, "/api/shop1/financial_info" şeklinde bir çağrı yaptı, "/api/shop2/financial_info gibi shop1 → shop2" şeklinde yaptığı manüpülasyon ile yetkisi olmayan alana erişmiş olacaktır.

Nasıl Önlenir ?​

Kullanıcı policyleri ile authorization kontrolleri uygulayın.

Client tarafından gönderilen ID’lere güvenmeyin ve sessionlarda saklanan ID’leri kullanın.

Her bir DB isteği için clientın authorizationunu kontrol edin.

Tahmin edilmemesini güçlendirmek için randon ID’ler kullanın.

Sonuç
gBPwFuWw_o.png

Bu konuda Api'ler ve Broken object level authorization hakkında bilgiler öğrendik!
Diğer Konularda Görüşmek Üzere!
İyi Forumlar!
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.