Event Loop Blocking + Lazy images
Σε αυτήν την εκμετάλλευση, ο @aszx87410 συνδυάζει την τεχνική του πλευρικού καναλιού εικόνας τεμπέλικων με μια τεχνική φραγής του συνόλου εκδηλώσεων για να διαρρεύσει χαρακτήρες.
Αυτή είναι μια διαφορετική εκμετάλλευση για το CTF chall που ήδη σχολιάστηκε στην ακόλουθη σελίδα. Ρίξτε μια ματιά για περισσότερες πληροφορίες σχετικά με την πρόκληση:
pageConnection Pool ExamplesΗ ιδέα πίσω από αυτήν την εκμετάλλευση είναι:
Οι αναρτήσεις φορτώνονται αλφαβητικά
Ένας επιτιθέμενος μπορεί να ενθέσει μια ανάρτηση που ξεκινά με το "A", στη συνέχεια κάποια ετικέτα HTML (όπως ένα μεγάλο
<canvas
) θα καλύψει την πλειοψηφία της οθόνης και μερικές τελικές ετικέτες<img lazy
για να φορτώσει πράγματα.Αντί για ένα "A", ο επιτιθέμενος ενθέτει την ίδια ανάρτηση αλλά ξεκινώντας με ένα "z". Η ανάρτηση με τη σημαία θα εμφανιστεί πρώτη, στη συνέχεια η ενθετημένη ανάρτηση θα εμφανιστεί με το αρχικό "z" και το μεγάλο canvas. Επειδή η ανάρτηση με τη σημαία εμφανίστηκε πρώτη, το πρώτο καμβά θα καταλάβει ολόκληρη την οθόνη και οι τελικές ετικέτες
<img lazy
που ενθέτιστηκαν δεν θα φαίνονται στην οθόνη, οπότε δεν θα φορτωθούν.Στη συνέχεια, ενώ το bot έχει πρόσβαση στη σελίδα, ο επιτιθέμενος θα στείλει αιτήσεις fetch.
Αν οι εικόνες που ενθέτονται στην ανάρτηση φορτώνονται, αυτές οι αιτήσεις fetch θα διαρκέσουν περισσότερο χρόνο, οπότε ο επιτιθέμενος γνωρίζει ότι η ανάρτηση βρίσκεται πριν τη σημαία (αλφαβητικά).
Αν οι αιτήσεις fetch είναι γρήγορες, σημαίνει ότι η ανάρτηση βρίσκεται αλφαβητικά μετά τη σημαία.
Ας ελέγξουμε τον κώδικα:
Last updated