<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team AWS του HackTricks)</strong></a><strong>!</strong></summary>
*Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να**κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
Η Ρύπανση Παραμέτρων HTTP (HPP) είναι μια τεχνική όπου οι επιτιθέμενοι διαμορφώνουν τις παραμέτρους HTTP γιανα αλλάξουν τη συμπεριφορά μιας εφαρμογής web με μη επιθυμητους τρόπους. Αυτή η διαμόρφωση γίνεται προσθέτοντας, τροποποιώντας ή διπλασιάζοντας τις παραμέτρους HTTP. Τα αποτελέσματα αυτών των διαμορφώσεων δεν είναι απευθείας ορατά στον χρήστη αλλά μπορεί να αλλάξουν σημαντικά τη λειτουργικότητα της εφαρμογής στην πλευρά του διακομιστή, με παρατηρήσιμες επιπτώσεις στην πλευρά του πελάτη.
Η συναλλαγή μπορεί να χρεωθεί εσφαλμένα στον λογαριασμό `accountC` αντί για τον `accountA`, επιδεικνύοντας τη δυνατότητα της HPP να διαμορφώνει συναλλαγές ή άλλες λειτουργίες όπως επαναφορές κωδικών, ρυθμίσεις 2FA ή αιτήσεις κλειδιών API.
-Ο τρόπος με τον οποίο αναλύονται και δίνεται προτεραιότητα στις παράμετροι εξαρτάται από την υποκείμενη τεχνολογία web, επηρεάζοντας τον τρόπο με τον οποίο μπορεί να εκμεταλλευτεί η HPP.
- Εργαλεία όπως το [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/) βοηθούν στην αναγνώριση αυτών των τεχνολογιών και των τρόπων ανάλυσής τους.
- **Μέθοδος:** Με την παρέμβαση στο αίτημα OTP χρησιμοποιώντας εργαλεία όπως το Burp Suite, οι επιτιθέμενοι διπλασίασαν την παράμετρο `email` στο αίτημα HTTP.
- **Αποτέλεσμα:** Ο OTP, που ήταν προορισμένος για το αρχικό email, αντίθετα στάλθηκε στη δεύτερη διεύθυνση email που καθορίστηκε στο διαμορφωμένο αίτημα. Αυτή η αδυναμία επέτρεψε τη μη εξουσιοδοτημένη πρόσβαση με την παράκαμψη του προβλεπόμενου μέτρου ασφαλείας.
Αυτό το σενάριο υπογραμμίζει ένα κρίσιμο παράλειμμα στο backend της εφαρμογής, το οποίο επεξεργαζόταν την πρώτη παράμετρο `email`για τη δημιουργία OTP αλλά χρησιμοποίησε την τελευταία για την παράδοση.
- **Διανυσματικός Επίθεσης:** Ένας επιτιθέμενος ανακαλύπτει ότι προσθέτοντας μια επιπλέον παράμετρο `api_key` στο αίτημα POST, μπορεί να διαμορφώσει το αποτέλεσμα της λειτουργίας ενημέρωσης κλειδιού API.
- **Τεχνική:** Χρησιμοποιώντας ένα εργαλείο όπως το Burp Suite, ο επιτιθέμενος δημιουργεί ένα αίτημα που περιλαμβάνει δύο παραμέτρους `api_key`: μία νόμιμη και μία κακόβουλη. Ο διακομιστής, επεξεργαζόμενος μόνο την τελευταία εμφάνιση, ενημερώνει το κλειδί API στην τιμή που παρέχεται από τον επιτιθέμενο.
- **Αποτέλεσμα:** Ο επιτιθέμενος αποκτά έλεγχο στη λειτουργικότητα του κλειδιού API του θύματος, πιθανώς έχοντας πρόσβαση ή τροποποιώντας ιδιωτικά δεδομένα μη εξουσιοδοτημένα.
Αυτό το παράδειγμα υπογραμμίζει ακόμη περισσότερο την ανάγκη για ασφαλή χειρισμό παραμέτρων, ειδικά σε χαρακτηριστικά τόσο κρίσιμα όσο η διαχείριση κλειδιών API.
## Ανάλυση Παραμέτρων: Flask έναντι PHP
Ο τρόπος με τον οποίο οι τεχνολογίες web χειρίζονται διπλές παράμετρους HTTP διαφέρει, επηρεάζοντας την ευπάθειά τους στις επιθέσεις HPP:
- **Flask:** Προτιμά την τιμή της πρώτης παραμέτρου που συναντά, όπως `a=1` σε μια συμβολοσειρά ερωτήματος `a=1&a=2`, δίνοντας προτεραιότητα στην αρχική εμφάνιση έναντι των επόμενων διπλών.
- **PHP (σε Διακομιστή Apache HTTP):** Αντίθετα, δίνει προτεραιότητα στην τελευταία τιμή παραμέτρου, επιλέγοντας το `a=2` στο δεδομένο παράδειγμα. Αυτή η συμπεριφορά μπορεί απροσδόκητα να διευκολύνει τις επιθέσεις HPP δίνοντας προτεραιότητα στη διαμορφωμένη παράμετρο του επιτιθέμενου αντί της αρχικής.