<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **cybersecurity kompaniji**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na [hacktricks repo](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
Ukratko, ranjivost dependency confusion se javlja kada projekat koristi biblioteku sa **pogrešno napisanim** imenom, **ne-postojećom** ili sa **nedefinisanom verzijom**, a korišćeni repozitorijum dozvoljava **preuzimanje ažuriranih verzija iz javnih** repozitorijuma.
* **Pogrešno napisano**: Uvozite **`reqests`** umesto `requests`
* **Ne-postojeće**: Uvozite `company-logging`, internu biblioteku koja **više ne postoji**
* **Nedefinisana verzija**: Uvozite **internu****postojeću** biblioteku `company-requests`, ali repozitorijum proverava **javne repozitorijume** da vidi da li postoje **novije verzije**.
Ako vaša kompanija pokušava da **uvozi biblioteku koja nije interna**, veoma je verovatno da će repozitorijum biblioteka tražiti tu biblioteku u **javnom repozitorijumu**. Ako je napadač kreirao tu biblioteku, vaš kod i mašine koje je pokreću će verovatno biti kompromitovane.
Veoma je često da programeri **ne definišu verziju** biblioteke koju koriste, ili definišu samo **glavnu verziju**. Tada će interpreter pokušati da preuzme **poslednju verziju** koja odgovara tim zahtevima.\
Ako je biblioteka **poznata spoljna biblioteka** (kao što je python `requests`), **napadač ne može mnogo da uradi**, jer neće moći da kreira biblioteku sa nazivom `requests` (osim ako je originalni autor).\
Međutim, ako je biblioteka **interna**, kao što je `requests-company` u ovom primeru, ako **repozitorijum biblioteke** dozvoljava **proveru novih verzija i spolja**, tražiće noviju verziju koja je javno dostupna.\
Dakle, ako **napadač zna** da kompanija koristi biblioteku `requests-company`**verzije 1.0.1** (dozvoljava manje ažuriranja), može **objaviti** biblioteku `requests-company`**verzije 1.0.2** i kompanija će **koristiti tu biblioteku umesto interne**.
Ova ranjivost je pronađena u AWS **CodeArtifact-u** (pročitajte [**detalje u ovom blog postu**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
AWS je ovo popravio tako što je omogućio da se specificira da li je biblioteka interna ili spoljna, kako bi se izbeglo preuzimanje internih zavisnosti iz spoljnih repozitorijuma.
U [**originalnom postu o dependency confusion-u**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) autor je pretraživao hiljade izloženih package.json fajlova koji sadrže zavisnosti projekata u JavaScript-u.
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **cybersecurity kompaniji**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na [hacktricks repo](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.