5.4 KiB
Dependency Confusion
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
{% embed url="https://websec.nl/" %}
Basic Information
Kwa muhtasari, udhaifu wa kutegemea kuchanganya hutokea wakati mradi unatumia maktaba yenye jina lililoandikwa vibaya, lisilokuwepo au lenye toleo lisilobainishwa na hifadhi ya kutegemea iliyotumika inaruhusu kusanya toleo lililosasishwa kutoka kwa hifadhi za umma.
- Lililoandikwa vibaya: Ingiza
reqests
badala yarequests
- Lisilokuwepo: Ingiza
company-logging
, maktaba ya ndani ambayo haipo tena - Toleo lisilobainishwa: Ingiza maktaba ya ndani iliyopo
company-requests
, lakini uhakiki wa repo huchunguza hifadhi za umma kuona kama kuna matoleo makubwa zaidi.
Exploitation
{% hint style="warning" %} Katika kesi zote mshambuliaji anahitaji tu kuchapisha kifurushi chenye uharibifu chenye jina la maktaba zinazotumiwa na kampuni ya mwathirika. {% endhint %}
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 jipya zaidi 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 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 hii kwa kuruhusu kubainisha ikiwa maktaba ni ya ndani au ya nje, ili kuepuka kupakua kutegemea za ndani kutoka kwa hifadhi za nje.
Finding Vulnerable Libraries
Katika chapisho la asili kuhusu kuchanganya kutegemea mwandishi alitafuta maelfu ya faili za package.json zilizofichuliwa zikiwa na kutegemea za mradi wa javascript.
References
- https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
- https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.