Last month, I discussed Google's XSS Vulnerability and provided an exa μετάφραση - Last month, I discussed Google's XSS Vulnerability and provided an exa Ελληνικά πώς να το πω

Last month, I discussed Google's XS

Last month, I discussed Google's XSS Vulnerability and provided an example that demonstrates it. I was hoping to highlight why character encoding consistency is important, but apparently the addslashes() versus mysql_real_escape_string() debate continues. Demonstrating Google's XSS vulnerability is pretty easy. Demonstrating an SQL injection attack that is immune to addslashes() is a bit more involved, but still pretty straightforward.

In GBK, 0xbf27 is not a valid multi-byte character, but 0xbf5c is. Interpreted as single-byte characters, 0xbf27 is 0xbf (¿) followed by 0x27 ('), and 0xbf5c is 0xbf (¿) followed by 0x5c ().

How does this help? If I want to attempt an SQL injection attack against a MySQL database, having single quotes escaped with a backslash is a bummer. If you're using addslashes(), however, I'm in luck. All I need to do is inject something like 0xbf27, and addslashes() modifies this to become 0xbf5c27, a valid multi-byte character followed by a single quote. In other words, I can successfully inject a single quote despite your escaping. That's because 0xbf5c is interpreted as a single character, not two. Oops, there goes the backslash.

I'm going to use MySQL 5.0 and PHP's mysqli extension for this demonstration. If you want to try this yourself, make sure you're using GBK. I just changed /etc/my.cnf, but that's because I'm testing locally:
0/5000
Από: -
Για: -
Αποτελέσματα (Ελληνικά) 1: [Αντίγραφο]
Αντιγραφή!
Τον περασμένο μήνα, συζητήθηκε το θέμα ευπάθειας XSS της Google και παρείχε ένα παράδειγμα που δείχνει αυτό. Εγώ was ελπίζοντας να επισημάνετε τον λόγο χαρακτήρας κωδικοποιώ συνέπεια είναι σημαντικό, αλλά προφανώς το addslashes() έναντι mysql_real_escape_string() συζήτηση συνεχίζεται. Αποδεικνύοντας την ευπάθεια XSS της Google είναι αρκετά εύκολο. Αποδεικνύοντας μια επίθεση του SQL ένεση που έχει ανοσία σε addslashes() είναι λίγο πιο περίπλοκη, αλλά ακόμα αρκετά απλή.Σε GBK, 0xbf27 δεν είναι έγκυρος χαρακτήρας πολυ-ψηφιολέξεων, αλλά είναι 0xbf5c. Ερμηνευθεί ως μονού-byte χαρακτήρες, 0xbf27 είναι 0xbf (ΒΏ) ακολουθούμενη από την 0x27 (') και 0xbf5c είναι 0xbf (ΒΏ), ακολουθούμενη από 0x5c ().Πώς αυτό βοηθάει; Αν θέλω να επιχειρήσει μια επίθεση του SQL ένεση σε μια βάση δεδομένων MySQL, έχοντας μονά εισαγωγικά με αριστερόστροφη κάθετο είναι ένα bummer. Εάν χρησιμοποιείτε addslashes(), ωστόσο, είμαι στην τύχη. Όλη η ανάγκη ι να κάνει είναι να εισφέρει κάτι σαν 0xbf27, και addslashes() τροποποιεί αυτό να γίνει 0xbf5c27, μια έγκυρη χαρακτήρων πολλών byte που ακολουθείται από ένα ενιαίο απόσπασμα. Με άλλα λόγια, να κάνω την ένεση με επιτυχία ένα μονό εισαγωγικό παρά τη διαφυγή σας. Αυτό οφείλεται στο γεγονός ότι 0xbf5c ερμηνεύεται ως ένας χαρακτήρας, όχι δύο. Ωχ, πηγαίνει εκεί την ανάστροφη κάθετο.Πάω να χρησιμοποιήσετε την MySQL 5.0 και επέκταση mysqli της PHP για αυτήν την επίδειξη. Αν θέλετε να δοκιμάσετε αυτό τον εαυτό σας, βεβαιωθείτε ότι χρησιμοποιείτε GBK. Άλλαξα ακριβώς σου /etc/my.cnf, αλλά αυτό είναι επειδή είμαι δοκιμή σε τοπικό επίπεδο:
Μεταφράζονται, παρακαλώ περιμένετε..
Αποτελέσματα (Ελληνικά) 2:[Αντίγραφο]
Αντιγραφή!
Τον περασμένο μήνα, συζήτησα XSS ευπάθεια της Google και παρέχεται ένα παράδειγμα που αποδεικνύει. Ήλπιζα να αναδείξει γιατί κωδικοποίηση χαρακτήρων συνέπεια είναι σημαντικό, αλλά προφανώς οι addslashes () έναντι mysql_real_escape_string () συζήτηση συνεχίζεται. Επίδειξη ευπάθεια XSS της Google είναι αρκετά εύκολο. Επιδεικνύοντας μια επίθεση SQL ένεση που έχει ανοσία σε addslashes () είναι αρκετά απλή λίγο πιο περίπλοκη, αλλά ακόμα. Στην GBK, 0xbf27 δεν είναι ένας έγκυρος χαρακτήρας πολλών byte, αλλά είναι 0xbf5c. Ερμηνεύεται ως single-byte χαρακτήρες, 0xbf27 είναι 0xBF (¿) που ακολουθείται από 0x27 ('), και 0xbf5c είναι 0xBF (¿) ακολουθούμενη από 0x5C (). Πώς αυτή η βοήθεια; Αν θέλω να επιχειρήσει μια επίθεση SQL ένεση σε μια βάση δεδομένων MySQL, που έχουν μονά εισαγωγικά διέφυγε με μια ανάστροφη κάθετο είναι δυσάρεστο. Εάν χρησιμοποιείτε addslashes (), ωστόσο, είμαι στην τύχη. Όλα πρέπει να κάνω είναι κάτι σαν ένεση 0xbf27, και addslashes () τροποποιεί αυτό να γίνει 0xbf5c27, ένα έγκυρο χαρακτήρα πολλών byte που ακολουθείται από μια και μόνη προσφορά. Με άλλα λόγια, μπορεί να εισφέρει με επιτυχία ένα ενιαίο απόσπασμα παρά διαφυγή σας. Αυτό συμβαίνει γιατί 0xbf5c ερμηνεύεται ως ένα ενιαίο χαρακτήρα, όχι δύο. Ωχ, πηγαίνει εκεί την ανάστροφη κάθετο. Πάω να χρησιμοποιήσει MySQL 5.0 και της PHP mysqli παράταση για αυτή την επίδειξη. Αν θέλετε να δοκιμάσετε μόνοι σας, βεβαιωθείτε ότι χρησιμοποιείτε GBK. Μόλις άλλαξα /etc/my.cnf, αλλά αυτό είναι επειδή είμαι σε δοκιμές σε τοπικό επίπεδο:





Μεταφράζονται, παρακαλώ περιμένετε..
 
Άλλες γλώσσες
η υποστήριξη εργαλείο μετάφρασης: Klingon, Ίγκμπο, Όντια (Ορίγια), Αγγλικά, Αζερμπαϊτζανικά, Αλβανικά, Αμχαρικά, Αναγνώριση γλώσσας, Αραβικά, Αρμενικά, Αφρικάανς, Βασκικά, Βεγγαλική, Βιετναμεζικά, Βιρμανικά, Βοσνιακά, Βουλγαρικά, Γίντις, Γαελικά Σκοτίας, Γαλικιακά, Γαλλικά, Γερμανικά, Γεωργιανά, Γιορούμπα, Γκουτζαρατικά, Δανικά, Εβραϊκά, Ελληνικά, Εσθονικά, Εσπεράντο, Ζουλού, Ζόσα, Ιαπωνικά, Ινδονησιακά, Ιρλανδικά, Ισλανδικά, Ισπανικά, Ιταλικά, Καζακστανικά, Κανάντα, Καταλανικά, Κινέζικα, Κινεζικά (Πα), Κινιαρουάντα, Κιργιζιανά, Κορεατικά, Κορσικανικά, Κουρδικά, Κρεόλ Αϊτής, Κροατικά, Λάο, Λατινικά, Λετονικά, Λευκορωσικά, Λιθουανικά, Λουξεμβουργιανά, Μαλέι, Μαλαγάσι, Μαλαγιάλαμ, Μαλτεζικά, Μαορί, Μαραθικά, Μογγολικά, Νεπαλικά, Νορβηγικά, Ολλανδικά, Ουαλικά, Ουγγρικά, Ουζμπεκικά, Ουιγούρ, Ουκρανικά, Ουρντού, Πάστο, Παντζάμπι, Περσικά, Πολωνικά, Πορτογαλικά, Ρουμανικά, Ρωσικά, Σίντι, Σαμοανικά, Σεμπουάνο, Σερβικά, Σεσότο, Σινχάλα, Σλαβομακεδονικά, Σλοβακικά, Σλοβενικά, Σομαλικά, Σουαχίλι, Σουηδικά, Σούντα, Σόνα, Ταζικιστανικά, Ταμίλ, Ταταρικά, Ταϊλανδεζικά, Τελούγκου, Τζαβανεζικά, Τούρκικα, Τσεχικά, Τσιτσέουα, Φιλιπινεζικά, Φινλανδικά, Φριζιανά, Χάουσα, Χίντι, Χαβαϊκά, Χμερ, Χμονγκ, τουρκμενικά, γλώσσα της μετάφρασης.

Copyright ©2025 I Love Translation. All reserved.

E-mail: