Leer & oefen AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Leer & oefen GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
In samevatting, 'n afhanklikheid verwarring kwesbaarheid gebeur wanneer 'n projek 'n biblioteek met 'n **verkeerde gespelde** naam, **nie-bestaande** of met 'n **onbepaalde weergawe** gebruik en die gebruikte afhanklikheid repo toelaat om **opdaterings van openbare** repos te **versamel**.
* **Onbepaalde weergawe**: Importeer 'n **interne****bestaande**`company-requests` biblioteek, maar die repo kyk na **openbare repos** om te sien of daar **groter weergawes** is.
In alle gevalle hoef die aanvaller net 'n **kwaadwillige pakket met die naam** van biblioteke wat deur die slagoffer maatskappy gebruik word, te publiseer.
As jou maatskappy probeer om 'n **biblioteek te importeer wat nie intern is nie**, is dit hoogs waarskynlik dat die repo van biblioteke dit in **openbare repos** gaan soek. As 'n aanvaller dit geskep het, is dit hoogs waarskynlik dat jou kode en masjiene wat loop, gecompromitteer gaan word.
Dit is baie algemeen dat ontwikkelaars **geen weergawe** van die biblioteek wat gebruik word, spesifiseer nie, of net 'n **hoof weergawe** spesifiseer. Dan sal die interpreter probeer om die **nuutste weergawe** wat aan daardie vereistes voldoen, af te laai.\
As die biblioteek 'n **bekende eksterne biblioteek** is (soos python `requests`), kan 'n **aanvaller nie veel doen nie**, aangesien hy nie 'n biblioteek met die naam `requests` kan skep nie (tenzij hy die oorspronklike outeur is).\
As die biblioteek egter **intern** is, soos `requests-company` in hierdie voorbeeld, as die **biblioteek repo** toelaat om **ook na nuwe weergawes ekstern te kyk**, sal dit soek na 'n nuwer weergawe wat publiek beskikbaar is.\
So as 'n **aanvaller weet** dat die maatskappy die `requests-company` biblioteek **weergawe 1.0.1** gebruik (laat klein opdaterings toe). Hy kan die biblioteek `requests-company`**weergawe 1.0.2****publiseer** en die maatskappy sal **daardie biblioteek in plaas van** die interne een **gebruik**.
Hierdie kwesbaarheid is in AWS **CodeArtifact** gevind (lees die [**besonderhede in hierdie blogpos**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
AWS het dit reggestel deur toe te laat om te spesifiseer of 'n biblioteek intern of ekstern is, om te verhoed dat interne afhanklikhede van eksterne repos afgelaai word.
In die [**oorspronklike pos oor afhanklikheid verwarring**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) het die outeur gesoek na duisende blootgestelde package.json lêers wat javascript projek se afhanklikhede bevat.
Leer & oefen AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Leer & oefen GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.