Dependency Confusion

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Taarifa Msingi

Kwa muhtasari, udhaifu wa kutatanisha utegemezi hutokea wakati mradi unatumia maktaba yenye jina lililoandikwa kwa makosa, haipo au na toleo lisiloelezwa na hifadhi ya utegemezi inayotumiwa inaruhusu kukusanya toleo jipya kutoka kwenye hifadhi za umma.

  • Kwa Makosa: Ingiza reqests badala ya requests

  • Haipo: Ingiza company-logging, maktaba ya ndani ambayo haipo tena

  • Toleo Lisiloelezwa: Ingiza maktaba ya ndani iliyopo company-requests, lakini hifadhi inachunguza hifadhi za umma kuona kama kuna toleo kubwa.

Udukuzi

Katika kila kesi, muhusika anahitaji tu kuchapisha pakiti yenye nia mbaya yenye jina la maktaba zilizotumiwa na kampuni ya mwathiriwa.

Kwa Makosa & Haipo

Ikiwa kampuni yako inajaribu kuagiza maktaba ambayo si ya ndani, kuna uwezekano mkubwa hifadhi ya maktaba itakuwa inatafuta kwenye hifadhi za umma. Ikiwa muhusika ameitengeneza, programu yako na mashine zinazoendesha zinaweza kuwa zimeingiliwa kwa kiwango kikubwa.

Toleo Lisiloelezwa

Ni kawaida kwa wabunifu kutotaja toleo lolote la maktaba iliyotumiwa, au kutaja tu toleo kuu. Kisha, mkalimani atajaribu kupakua toleo jipya zaidi linalofaa mahitaji hayo. Ikiwa maktaba ni maktaba ya nje inayojulikana (kama vile python requests), muhalifu hawezi kufanya mengi, kwani hataweza kuunda maktaba iliyoitwa requests (isipokuwa yeye ni mwandishi halisi). Hata hivyo, ikiwa maktaba ni ndani, kama requests-company katika mfano huu, ikiwa hifadhi ya maktaba inaruhusu kuangalia toleo jipya pia kwa nje, itatafuta toleo jipya lililopo hadharani. Kwa hivyo ikiwa muhalifu anajua kuwa kampuni inatumia maktaba ya requests-company toleo 1.0.1 (kuruhusu visasisho vidogo). Anaweza kuchapisha maktaba ya requests-company toleo 1.0.2 na kampuni itaanza kutumia maktaba hiyo badala ya ile ya ndani.

AWS Kurekebisha

Udhaifu huu uligunduliwa katika AWS CodeArtifact (soma maelezo katika chapisho hili la blogi). AWS ilirekebisha hili kwa kuruhusu kutaja ikiwa maktaba ni ya ndani au ya nje, ili kuepuka kupakua tegemezi za ndani kutoka kwenye hifadhi za nje.

Kutambua Maktaba Zenye Udhaifu

Katika chapisho la awali kuhusu kutatanisha utegemezi mwandishi alitafuta maelfu ya faili za package.json zilizo wazi zilizo na tegemezi za miradi ya javascript.

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Last updated