mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
73 lines
6.1 KiB
Markdown
73 lines
6.1 KiB
Markdown
# Bağımlılık Karışıklığı
|
||
|
||
<details>
|
||
|
||
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
|
||
|
||
* Bir **cybersecurity şirketinde mi çalışıyorsunuz**? **Şirketinizi HackTricks'te reklam 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 PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonu
|
||
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
|
||
* **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**.
|
||
|
||
</details>
|
||
|
||
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% 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, **mevcut 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
|
||
* **Mevcut olmayan**: Artık **mevcut olmayan** iç bir kütüphane olan `company-logging`i içe aktar
|
||
* **Belirtilmemiş sürüm**: **Mevcut** **iç** `company-requests` kütüphanesini içe aktar, ancak depo **genel depoları** kontrol ederek **daha büyük sürümlerin** olup olmadığını 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 zararlı bir paket yayınlaması** yeterlidir.
|
||
{% endhint %}
|
||
|
||
### Yanlış Yazılmış & Mevcut 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. Eğer 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** çok 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 (orijinal yazar değilse).\
|
||
Ancak, kütüphane **iç** ise, bu örnekte olduğu gibi `requests-company`, eğer **kütüphane deposu** dışarıdan **yeni sürümleri de kontrol etmeye izin veriyorsa**, genelde bulunan 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ünü yayınlayabilir** ve şirket **iç kütüphanenin yerine bu kütüphaneyi kullanacaktır**.
|
||
|
||
## AWS Düzeltme
|
||
|
||
Bu zafiyet, AWS **CodeArtifact**'da bulundu (detayları [**bu blog yazısında**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d) okuyun).\
|
||
AWS, iç bağımlılıkların dış depolardan indirilmesini ö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ı aradı.
|
||
|
||
## 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)
|
||
|
||
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://websec.nl/" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
|
||
|
||
* Bir **cybersecurity şirketinde mi çalışıyorsunuz**? **Şirketinizi HackTricks'te reklam 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 PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonu
|
||
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
|
||
* **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**.
|
||
|
||
</details>
|