# Dependency Confusion
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! * 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)! * Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * **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)**.
## Osnovne informacije 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**. ## Eksploatacija {% hint style="warning" %} U svim slučajevima, napadaču je dovoljno da objavi **zlonamerni paket sa imenom** biblioteka koje koristi kompanija žrtva. {% endhint %} ### Pogrešno napisano & Ne-postojeće 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. ### Nedefinisana verzija 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**. ## AWS Popravka 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. ## Pronalaženje Ranjivih Biblioteka 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. ## Reference * [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)
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! * 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)! * Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * **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)**.