# UUID Güvenlik Açıkları {% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %} ## Temel Bilgiler Evrensel Benzersiz Tanımlayıcılar (UUID'ler) **bilgi sistemlerinde bilgiyi benzersiz bir şekilde tanımlamak için kullanılan 128-bit sayılardır**. UUID'ler, merkezi bir koordinasyon olmadan benzersiz tanımlayıcıların gerekli olduğu uygulamalarda önemlidir. Genellikle veritabanı anahtarları olarak kullanılır ve belgeler ve oturumlar gibi çeşitli öğeleri referans alabilir. UUID'ler benzersiz olacak şekilde tasarlanmıştır ve **tahmin edilmesi zordur**. Belirli bir formatta yapılandırılmıştır ve 32 onaltılık basamaktan oluşan beş gruba ayrılmıştır. Farklı amaçlar için hizmet eden farklı UUID versiyonları vardır: * **UUID v1** zaman tabanlıdır, zaman damgası, saat sırası ve düğüm kimliği (MAC adresi) içerir, ancak sistem bilgilerini potansiyel olarak açığa çıkarabilir. * **UUID v2** v1'e benzer ancak yerel alanlar için değişiklikler içerir (yaygın olarak kullanılmaz). * **UUID v3 ve v5** ad alanı ve isimden hash değerleri kullanarak UUID'ler oluşturur; v3 MD5 kullanırken v5 SHA-1 kullanır. * **UUID v4** neredeyse tamamen rastgele üretilir, yüksek bir anonimlik seviyesi sağlar ancak küçük bir çifte düşme riski taşır. {% hint style="success" %} UUID'nin versiyonu ve alt versiyonu genellikle UUID içinde aynı pozisyonda görünür. Örneğin:\ 12345678 - abcd - 1a56 - a539 - 103755193864\ xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx * **M'nin pozisyonu**, UUID'nin **versiyonunu** gösterir. Yukarıdaki örnekte, UUID v**1**'dir. * **N'nin pozisyonu**, UUID varyantını gösterir. {% endhint %} ## Sandviç Saldırısı "Sandviç Saldırısı", **web uygulamalarında UUID v1 üretiminin tahmin edilebilirliğini istismar eden** belirli bir saldırı türüdür, özellikle şifre sıfırlama gibi özelliklerde. UUID v1, zaman, saat sırası ve düğümün MAC adresine dayalı olarak üretilir; bu, bir saldırganın bu UUID'lerden bazılarını zaman açısından yakın bir şekilde elde edebilmesi durumunda tahmin edilebilir hale getirebilir. ### Örnek UUID v1'i şifre sıfırlama bağlantıları oluşturmak için kullanan bir web uygulamasını hayal edin. İşte bir saldırganın bunu nasıl istismar edebileceği: 1. **Başlangıç Ayarı**: * Saldırganın iki e-posta hesabı üzerinde kontrolü vardır: \`attacker1@acme.com\` ve \`attacker2@acme.com\`. * Hedefin e-posta hesabı \`victim@acme.com\`'dur. 2. **Uygulama**: * Saldırgan, ilk hesabı için bir şifre sıfırlama tetikler (\`attacker1@acme.com\`) ve bir UUID ile şifre sıfırlama bağlantısı alır, diyelim ki \`99874128-7592-11e9-8201-bb2f15014a14\`. * Hemen ardından, saldırgan kurbanın hesabı için bir şifre sıfırlama tetikler (\`victim@acme.com\`) ve ardından hızlıca ikinci saldırgan kontrolündeki hesap için (\`attacker2@acme.com\`) tetikler. * Saldırgan, ikinci hesap için bir UUID ile sıfırlama bağlantısı alır, diyelim ki \`998796b4-7592-11e9-8201-bb2f15014a14\`. 3. **Analiz**: * Saldırgan artık zaman açısından yakın üretilmiş iki UUID'ye sahiptir (\`99874128\` ve \`998796b4\`). Zaman tabanlı UUID'lerin ardışık doğası göz önüne alındığında, kurbanın hesabı için UUID muhtemelen bu iki değerin arasında olacaktır. 4. **Kaba Kuvvet Saldırısı:** * Saldırgan, bu iki değer arasında UUID'ler oluşturmak için bir araç kullanır ve her üretilen UUID'yi şifre sıfırlama bağlantısına erişmeye çalışarak test eder (örneğin, \`https://www.acme.com/reset/\\`). * Web uygulaması bu tür denemeleri yeterince sınırlamaz veya engellemezse, saldırgan aralıktaki tüm olası UUID'leri hızlıca test edebilir. 5. **Erişim Sağlandı:** * Kurbanın şifre sıfırlama bağlantısı için doğru UUID keşfedildiğinde, saldırgan kurbanın şifresini sıfırlayabilir ve hesabına yetkisiz erişim sağlayabilir. ### Araçlar * Sandviç saldırısını otomatik olarak gerçekleştirmek için aracı kullanabilirsiniz: [**https://github.com/Lupin-Holmes/sandwich**](https://github.com/Lupin-Holmes/sandwich) * Bu tür UUID'leri Burp Suite'te [**UUID Detector**](https://portswigger.net/bappstore/65f32f209a72480ea5f1a0dac4f38248) uzantısıyla tespit edebilirsiniz. ## Referanslar * [https://versprite.com/blog/universally-unique-identifiers/](https://versprite.com/blog/universally-unique-identifiers/) {% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %}