# Bağımlılık Karışıklığı
Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)! * **Bir siber güvenlik şirketinde mi çalışıyorsunuz? Şirketinizin HackTricks'te reklamını görmek ister misiniz? Ya da PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz?** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter**'da beni takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Hacking püf noktalarınızı paylaşarak [hacktricks deposuna](https://github.com/carlospolop/hacktricks) ve [hacktricks-cloud deposuna](https://github.com/carlospolop/hacktricks-cloud) PR gönderin**.
{% embed url="https://websec.nl/" %} ## Temel Bilgiler Özetle, bir bağımlılık karışıklığı zafiyeti, bir proje **yanlış yazılmış** bir kütüphaneyi kullandığında, **var olmayan** veya **belirtilmemiş bir sürümle** ve kullanılan bağımlılık deposunun **güncellenmiş sürümleri toplamaya izin verdiğinde** meydana gelir. * **Yanlış yazılmış**: `requests` yerine **`reqests`** içe aktar * **Var olmayan**: Artık **var olmayan** bir iç kütüphane olan `company-logging`i içe aktar * **Belirtilmemiş sürüm**: **Var olan** iç `company-requests` kütüphanesini içe aktar, ancak depo **genel depolardan daha büyük sürümler** var mı diye kontrol eder. ## Sömürü {% hint style="warning" %} Tüm durumlarda saldırganın sadece kurban şirketin kullandığı kütüphanelerin adını taşıyan **kötü amaçlı bir paket yayınlaması yeterlidir**. {% endhint %} ### Yanlış Yazılmış & Var Olmayan Şirketinizin **iç olmayan bir kütüphaneyi içe aktarmaya çalıştığında**, kütüphanelerin deposunun bunu **genel depolarda arayacağı** oldukça olasıdır. Bir saldırgan bunu oluşturduysa, kodunuz ve çalışan makineleriniz büyük olasılıkla tehlikeye girecektir. ### Belirtilmemiş Sürüm Geliştiricilerin kütüphanenin sürümünü **belirtmemesi** veya sadece bir **ana sürümü belirtmesi** oldukça yaygındır. Ardından, yorumlayıcı bu gereksinimleri karşılayan **en son sürümü indirmeye çalışacaktır**.\ Eğer kütüphane **bilinen harici bir kütüphane** ise (örneğin python `requests`), bir **saldırgan pek bir şey yapamaz**, çünkü `requests` adında bir kütüphane oluşturamaz (asıl yazar değilse).\ Ancak, kütüphane **içsel** ise, bu örnekte olduğu gibi `requests-company` gibi, eğer **kütüphane deposu** dışarıdan da **yeni sürümleri kontrol etmeye izin veriyorsa**, genelde bulunan daha yeni bir sürüm arayacaktır.\ Bu nedenle, bir **saldırganın** şirketin `requests-company` kütüphanesini **1.0.1 sürümü** olarak kullandığını **bildiğini varsayalım** (küçük güncellemelere izin verir). O, `requests-company` kütüphanesini **1.0.2 sürümü** olarak **yayınlayabilir** ve şirket **iç kütüphanenin yerine bu kütüphaneyi kullanacaktır**. ## AWS Düzeltmesi Bu zafiyet, AWS **CodeArtifact**'ta bulundu (detayları [**bu blog yazısında**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d) okuyun).\ AWS, iç bağımlılıkları dış depolardan indirmeyi önlemek için bir kütüphanenin içsel veya harici olup olmadığını belirtmeye izin vererek bunu düzeltti. ## Zafiyetli Kütüphanelerin Bulunması [**Bağımlılık karışıklığı hakkındaki orijinal yazıda**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) yazar, binlerce açıkta kalan package.json dosyasını arayarak JavaScript projelerinin bağımlılıklarını buldu. ## Referanslar * [https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) * [https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)
{% embed url="https://websec.nl/" %}
Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)! * **Bir siber güvenlik şirketinde mi çalışıyorsunuz? Şirketinizin HackTricks'te reklamını görmek ister misiniz? Ya da PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz?** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter**'da beni takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Hacking püf noktalarınızı paylaşarak [hacktricks deposuna](https://github.com/carlospolop/hacktricks) ve [hacktricks-cloud deposuna](https://github.com/carlospolop/hacktricks-cloud) PR gönderin**.