Golang
Μέθοδος CONNECT
Στη γλώσσα προγραμματισμού Go, μια κοινή πρακτική κατά την επεξεργασία αιτημάτων HTTP, συγκεκριμένα χρησιμοποιώντας τη βιβλιοθήκη net/http
, είναι η αυτόματη μετατροπή της διαδρομής του αιτήματος σε ένα τυποποιημένο μορφότυπο. Αυτή η διαδικασία περιλαμβάνει:
Διαδρομές που τελειώνουν με μια κάθετο (
/
) όπως/flag/
ανακατευθύνονται στην αντίστοιχη χωρίς κάθετο,/flag
.Διαδρομές που περιέχουν ακολουθίες διαδρομής καταλόγου όπως
/../flag
απλοποιούνται και ανακατευθύνονται στο/flag
.Διαδρομές με μια τελεία στο τέλος όπως
/flag/.
ανακατευθύνονται επίσης στη καθαρή διαδρομή/flag
.
Ωστόσο, μια εξαίρεση παρατηρείται με τη χρήση της μεθόδου CONNECT
. Σε αντίθεση με άλλες μεθόδους HTTP, η CONNECT
δεν ενεργοποιεί τη διαδικασία κανονικοποίησης της διαδρομής. Αυτή η συμπεριφορά ανοίγει μια πιθανή οδό για την πρόσβαση σε προστατευμένους πόρους. Χρησιμοποιώντας τη μέθοδο CONNECT
μαζί με την επιλογή --path-as-is
στο curl
, μπορεί κανείς να παρακάμψει την τυπική κανονικοποίηση διαδρομής και ενδεχομένως να φτάσει σε περιορισμένες περιοχές.
Η παρακάτω εντολή δείχνει πώς να εκμεταλλευτεί κανείς αυτή τη συμπεριφορά:
Last updated