hacktricks/pentesting-web/dependency-confusion.md

5.7 KiB

Kutokuwepo kwa Utegemezi

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

{% embed url="https://websec.nl/" %}

Taarifa Msingi

Kwa muhtasari, udhaifu wa kutokuwepo kwa utegemezi hutokea wakati mradi unatumia maktaba yenye jina lililochorwa vibaya, lisilopo au lenye toleo lisiloelezwa na hifadhi ya utegemezi inaruhusu kukusanya toleo jipya kutoka kwenye hifadhi za umma.

  • Lililochorwa vibaya: Ingiza reqests badala ya requests
  • Lisilopo: 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

{% hint style="warning" %} Katika kila kesi, muhusika anahitaji tu kuchapisha pakiti yenye nia mbaya yenye jina la maktaba zilizotumiwa na kampuni ya mwathiriwa. {% endhint %}

Lililochorwa Vibaya & Lisilopo

Ikiwa kampuni yako inajaribu kuagiza maktaba ambayo sio ya ndani, kuna uwezekano mkubwa hifadhi ya maktaba itakuwa inatafuta katika hifadhi za umma. Ikiwa muhusika ameitengeneza, programu yako na mashine zinazoendesha zinaweza kuwa zimeathiriwa sana.

Toleo Lisiloelezwa

Ni kawaida kwa wabunifu kutotaja toleo lolote la maktaba inayotumiwa, 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), muhusika 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 muhusika 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 hii kwa kuruhusu kutaja ikiwa maktaba ni ya ndani au ya nje, ili kuepuka kupakua utegemezi wa ndani kutoka kwenye hifadhi za nje.

Kutambua Maktaba Zenye Udhaifu

Katika chapisho la awali kuhusu kutokuwepo kwa utegemezi mwandishi alitafuta maelfu ya faili za package.json zilizo wazi zinazoambatanisha utegemezi wa miradi ya javascript.

Marejeo

{% embed url="https://websec.nl/" %}

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