Osman Eren tarafından yazılmıştır.
API bir uygulamaya ait yeteneklerin, başka bir uygulamada da kullanılabilmesi için, yeteneklerini paylaşan uygulamanın sağladığı arayüzdür.
Günlük olarak karşılaştığımız yaygın bir API kullanım örneği hava durumu verileridir. Örneğin bir otel sitesine girdiğinizde hava durumunun hangi günlerde iyi olduğunu gösteren bir özellik görmüşsünüzdür. Otel sitesi hava durumu verilerini Google, Apple Weather gibi third party API’lar yardımıyla kullanıcılara sunarlar.
Modern API teknolojileri uygulamaların hemen hemen her özelliğinde karşımıza çıkmaktır. Dolayısıyla biz Zafiyet Araştırmacıları API teknolojilerine ve bu ve güvenlik zafiyetlerine hakim olmalıyız.
2. API’lerde IDOR testleri mi yapıyorsunuz? 401/403 hatası mı alıyorsunuz? bypass teknikleri:
{“id”:111} -> {“id”:[111]}
{“id”:111} -> {“id”:{“id”:111}}
URL?id=<LEGIT>&id=<VICTIM>
{"user_id":"*"}
3. Daha eski API sürümleri daha savunmasız olma eğilimindedir ve güvenlik mekanizmalarından yoksundurlar. Eski sürümleri bulmak için REST API’lerinin öngörülebilir doğasından yararlanın.
4. Bir web uygulaması tarafından kullanılan API mobile uygulamanın API’leriyle aynı değildir. Her zaman ayrı ayrı test edin. Aynı güvenlik mekanizmalarını uyguladıklarını varsaymayın.
5. IDOR testi yaparken kimlik GUID olsa veya sayısal olmasa bile, sayısal bir değer göndermeyi deneyin. Örneğin:
6. Bir API testi sırasında takıldınız mı? Saldırı yüzeyini genişletin! http://archive.com adresini kullanın , web uygulamasının eski sürümlerini bulun ve yeni API endpointleri keşfedin.
7. Bir API testi sırasında takıldınız mı? Saldırı yüzeyinizi genişletin! API’nin mobil clienti varsa, eski özellikleri test etmek ve yeni API uç noktalarını keşfetmek için APK dosyasının eski sürümlerini indirin.
8. Mobil Sertifika Sabitleme? Client uygulamasına tersine mühendislik uygulamaya başlamadan önce, hem iOS hem de Android uygulamalarını ve bunların eski sürümlerini kontrol edin. Bunlardan birinde sertifika sabitleme etkin olmayabilir.Zamandan tasarruf
9.IDOR testlerinde 403/401 hatası aldığınızda http metodunu değiştirmeyi deneyin.Örneğin:
10.API testlerinde bir SSRF zafiyeti mi buldunuz. Bunları denemeyi unutmayın!
* Local Port Taraması
* Cloud hizmetlerinden yararlanın (169.254.169.254 gibi)
* IP Adresini ve HTTP Kitaplığını ortaya çıkarmak için http://webhook.site veya ngrok kullanın
[TR] API Testleri İçin İpuçları
API Nedir?
API bir uygulamaya ait yeteneklerin, başka bir uygulamada da kullanılabilmesi için, yeteneklerini paylaşan uygulamanın sağladığı arayüzdür.
Örnek Bir API Kullanımı:
Günlük olarak karşılaştığımız yaygın bir API kullanım örneği hava durumu verileridir. Örneğin bir otel sitesine girdiğinizde hava durumunun hangi günlerde iyi olduğunu gösteren bir özellik görmüşsünüzdür. Otel sitesi hava durumu verilerini Google, Apple Weather gibi third party API’lar yardımıyla kullanıcılara sunarlar.
API’ların günümüzdeki yeri:
Modern API teknolojileri uygulamaların hemen hemen her özelliğinde karşımıza çıkmaktır. Dolayısıyla biz Zafiyet Araştırmacıları API teknolojilerine ve bu ve güvenlik zafiyetlerine hakim olmalıyız.
API Testleri İçin 10 İpucu:
- 5-10 yıl önce SQL Enjeksiyonlarının nasıl çok yaygın olduğunu ve hemen hemen her şirkete girebileceğinizi hatırlıyor musunuz? IDOR API güvenliğinin yeni salgınıdır. Researcher olarak, ondan nasıl yararlanılacağını anlarsan, zaferiniz garantidir.
IDOR Hakkında Daha Fazla Bilgi -> [URL]https://blog.mert.ninja/idor/[/URL]
2. API’lerde IDOR testleri mi yapıyorsunuz? 401/403 hatası mı alıyorsunuz? bypass teknikleri:
{“id”:111} -> {“id”:[111]}
{“id”:111} -> {“id”:{“id”:111}}
URL?id=<LEGIT>&id=<VICTIM>
{"user_id":"*"}
3. Daha eski API sürümleri daha savunmasız olma eğilimindedir ve güvenlik mekanizmalarından yoksundurlar. Eski sürümleri bulmak için REST API’lerinin öngörülebilir doğasından yararlanın.
api/v3/login
mü var api/v1/login
test etmeyi unutmayın.4. Bir web uygulaması tarafından kullanılan API mobile uygulamanın API’leriyle aynı değildir. Her zaman ayrı ayrı test edin. Aynı güvenlik mekanizmalarını uyguladıklarını varsaymayın.
5. IDOR testi yaparken kimlik GUID olsa veya sayısal olmasa bile, sayısal bir değer göndermeyi deneyin. Örneğin:
[email protected]
yerine user_id=1337
6. Bir API testi sırasında takıldınız mı? Saldırı yüzeyini genişletin! http://archive.com adresini kullanın , web uygulamasının eski sürümlerini bulun ve yeni API endpointleri keşfedin.
7. Bir API testi sırasında takıldınız mı? Saldırı yüzeyinizi genişletin! API’nin mobil clienti varsa, eski özellikleri test etmek ve yeni API uç noktalarını keşfetmek için APK dosyasının eski sürümlerini indirin.
8. Mobil Sertifika Sabitleme? Client uygulamasına tersine mühendislik uygulamaya başlamadan önce, hem iOS hem de Android uygulamalarını ve bunların eski sürümlerini kontrol edin. Bunlardan birinde sertifika sabitleme etkin olmayabilir.Zamandan tasarruf
9.IDOR testlerinde 403/401 hatası aldığınızda http metodunu değiştirmeyi deneyin.Örneğin:
GET /api/v1/users/<id>
yerine DELETE /api/v1/users/<id>
10.API testlerinde bir SSRF zafiyeti mi buldunuz. Bunları denemeyi unutmayın!
* Local Port Taraması
* Cloud hizmetlerinden yararlanın (169.254.169.254 gibi)
* IP Adresini ve HTTP Kitaplığını ortaya çıkarmak için http://webhook.site veya ngrok kullanın
Moderatör tarafında düzenlendi: