hacktricks/pentesting-web/dependency-confusion.md

9 KiB
Raw Blame History

Εξάρτηση Σύγχυσης

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

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

Βασικές Πληροφορίες

Συνοπτικά, μια ευπάθεια εξάρτησης σύγχυσης συμβαίνει όταν ένα έργο χρησιμοποιεί μια βιβλιοθήκη με λάθος γραμματικό λάθος, μη υπάρχουσα ή με μη καθορισμένη έκδοση και το χρησιμοποιούμενο αποθετήριο εξαρτήσεων επιτρέπει να συγκεντρώνει ενημερωμένες εκδόσεις από δημόσια αποθετήρια.

  • Λάθος γραμματικό λάθος: Εισαγωγή reqests αντί για requests
  • Μη υπάρχουσα: Εισαγωγή company-logging, μια εσωτερική βιβλιοθήκη που δεν υπάρχει πλέον
  • Μη καθορισμένη έκδοση: Εισαγωγή μιας εσωτερικής υπάρχουσας βιβλιοθήκης company-requests, αλλά το αποθετήριο ελέγχου δημόσια αποθετήρια για να δει αν υπάρχουν μεγαλύτερες εκδόσεις.

Εκμετάλλευση

{% hint style="warning" %} Σε όλες τις περιπτώσεις ο επιτιθέμενος απλώς χρειάζεται να δημοσιεύσει ένα κακόβουλο πακέτο με το όνομα των βιβλιοθηκών που χρησιμοποιεί η εταιρεία θύμα. {% endhint %}

Λάθος γραμματικό λάθος & Μη υπάρχουσα

Αν η εταιρεία σας προσπαθεί να εισάγει μια βιβλιοθήκη που δεν είναι εσωτερική, πιθανότατα το αποθετήριο των βιβλιοθηκών θα την αναζητήσει σε δημόσια αποθετήρια. Αν ένας επιτιθέμενος την έχει δημιουργήσει, τον κώδικά σας και τις μηχανές που τρέχουν είναι πιθανόν να διακινδυνευτούν.

Μη καθορισμένη Έκδοση

Είναι πολύ συνηθισμένο για τους προγραμματιστές να μην καθορίζουν καμία έκδοση της χρησιμοποιούμενης βιβλιοθήκης, ή να καθορίζουν μόνο μια κύρια έκδοση. Στη συνέχεια, ο διερμηνευτής θα προσπαθήσει να κατεβάσει την τελευταία έκδοση που πληροί αυτές τις απαιτήσεις.
Αν η βιβλιοθήκη είναι μια γνωστή εξωτερική βιβλιοθήκη (όπως το python requests), ένας επιτιθέμενος δεν μπορεί να κάνει πολλά, καθώς δεν θα μπορεί να δημιουργήσει μια βιβλιοθήκη με το όνομα requests (εκτός αν είναι ο αρχικός συγγραφέας).
Ωστόσο, αν η βιβλιοθήκη είναι εσωτερική, όπως το requests-company σε αυτό το παράδειγμα, αν το αποθετήριο της βιβλιοθήκης επιτρέπει να ελέγχει και για νέες εκδόσεις εξωτερικά, θα αναζητήσει μια νεότερη έκδοση διαθέσιμη δημόσια.
Έτσι, αν ένας επιτιθέμενος γνωρίζει ότι η εταιρεία χρησιμοποιεί τη βιβλιοθήκη requests-company έκδοση 1.0.1 (επιτρέπει μικρές ενημερώσεις). Μπορεί να δημοσιεύσει τη βιβλιοθήκη requests-company έκδοση 1.0.2 και η εταιρεία θα χρησιμοποιήσει αυτήν τη βιβλιοθήκη αντί της εσωτερικής.

Διόρθωση AWS

Αυτή η ευπάθεια εντοπίστηκε στο AWS CodeArtifact (διαβάστε τις λεπτομέρειες σε αυτήν την ανάρτηση στο blog).
Το AWS το διόρθωσε επιτρέποντας να καθορίζετε αν μια βιβλιοθήκη είναι εσωτερική ή εξωτερική, για να αποφεύγετε τη λήψη εσωτερικών εξαρτήσεων από εξωτερικά αποθετήρια.

Εύρεση Ευπάθειών Βιβλιοθηκών

Στην αρχική ανάρτηση για την εξάρτηση σύγχυσης ο συγγραφέας αναζήτησε χιλιάδες αποκαλυμμένα αρχεία package.json που περιέχουν τις εξαρτήσεις των έργων σε JavaScript.

Αναφορές

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

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!