Dependency Confusion

Reading time: 3 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Basic Information

Kwa muhtasari, udhaifu wa kutatanisha utegemezi hutokea wakati mradi unatumia maktaba yenye jina la kosa, lisilokuwepo au yenye toleo lisilobainishwa na hifadhi ya utegemezi inayotumika inaruhusu kusanya toleo zilizosasishwa kutoka kwa hifadhi za umma.

  • Kosa: Ingiza reqests badala ya requests
  • Lisilokuwepo: Ingiza company-logging, maktaba ya ndani ambayo haipo tena
  • Toleo lisilobainishwa: Ingiza maktaba ya ndani iliyopo company-requests, lakini ukaguzi wa repo huchunguza hifadhi za umma kuona kama kuna matoleo makubwa zaidi.

Exploitation

warning

Katika hali zote mshambuliaji anahitaji tu kuchapisha kifurushi chenye uharibifu chenye jina la maktaba zinazotumiwa na kampuni ya mwathirika.

Misspelled & Inexistent

Ikiwa kampuni yako inajaribu kuingiza maktaba ambayo si ya ndani, kuna uwezekano mkubwa hifadhi ya maktaba itakuwa ikitafuta katika hifadhi za umma. Ikiwa mshambuliaji ameunda, msimbo wako na mashine zinazotumia ni uwezekano mkubwa zitakuwa zimeathiriwa.

Unspecified Version

Ni kawaida kwa wabunifu kutobainisha toleo lolote la maktaba inayotumika, au kubainisha tu toleo kuu. Kisha, mfasiri atajaribu kupakua toleo la hivi karibuni linalofaa mahitaji hayo.
Ikiwa maktaba ni maktaba ya nje inayojulikana (kama python requests), mshambuliaji hawezi kufanya mengi, kwani hatoweza kuunda maktaba inayoitwa requests (isipokuwa yeye ni mwandishi wa asili).
Hata hivyo, ikiwa maktaba ni ya ndani, kama requests-company katika mfano huu, ikiwa repo ya maktaba inaruhusu kuangalia matoleo mapya pia kwa nje, itatafuta toleo jipya linalopatikana hadharani.
Hivyo ikiwa mshambuliaji anajua kwamba kampuni inatumia maktaba ya requests-company toleo 1.0.1 (kuruhusu masasisho madogo). Anaweza kuchapisha maktaba requests-company toleo 1.0.2 na kampuni itatumia maktaba hiyo badala ya ile ya ndani.

AWS Fix

Udhaifu huu ulipatikana katika AWS CodeArtifact (soma maelezo katika chapisho hili la blog).
AWS ilirekebisha hili kwa kuruhusu kubainisha ikiwa maktaba ni ya ndani au ya nje, ili kuepuka kupakua utegemezi wa ndani kutoka kwa hifadhi za nje.

Finding Vulnerable Libraries

Katika chapisho la asili kuhusu kutatanisha utegemezi mwandishi alitafuta maelfu ya faili za package.json zilizofichuliwa zinazohusisha utegemezi wa mradi wa javascript.

References

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks