Bypass UTF-8 "%27"

Hallo allerseits,
möglicherweise ist euch bWAPP ein Begriff. Eine Challenge (sqli14.php ~ SQL Injection - Blind (SQLite) ) der Version 2.2 hat auf Medium und Hard dieselbe Check-Funktion integriert:
Wird ein einzelnes Hochkomma gesetzt, so wird es gegen 2 ausgetauscht. (str_replace) (Blick in Quellcode)

Meine Idee war ein Bypass im GBK Style zu machen (%01%27%27 or 1=1) jedoch ist das Encoding Char-Set auf UTF-8 gestellt. UTF-8 besitzt keine Multibytevariablen, die mit 27 enden oder beginnen. Daher meine Frage: Wie würdet ihr solch einen Bypass/Walk around erzeugen?

Viele Grüße
 
Ja, genau. Sonst macht das ja gar keinen Sinn :D
Deine Frage macht keinen Sinn: Praktisch arbeiten wir in den meisten Fällen mit ASCII beim URL encoding.
Und selbst wenn "nur" utf-8 interpretiert wird (andere Sprachen/Sets): Die Standardzeichen werden auf die gleiche weise codiert. In deinem Fall ist das "'" also stets mit %27 zu kodieren.
Ein "'" bleibt eben auch nur ein "'", egal über welche Table man das kodiert..
 
Wenn das charset auf GBK eingestellt ist, wird aus %01%27 ein asiatisches Zeichen interpretiert, wegen Multibyte. UTF8 ist hingegen Bypass sicher, für solche Dinge.
 
Wenn das charset auf GBK eingestellt ist, wird aus %01%27 ein asiatisches Zeichen interpretiert, wegen Multibyte. UTF8 ist hingegen Bypass sicher, für solche Dinge.

Ich sagte doch, die Standardzeichen werden i.d.R. alle gemäß ASCII kodiert, egal welche Table. Normalerweise erweitern diese Table den ASCII um jeweils spezielle Charsets.

A character is encoded as 1 or 2 bytes. A byte in the range 007F is a single byte that means the same thing as it does in ASCII.

Und so auch in GBK: Complete Character List for GBK

Stell dir vor, alle Webseiten benützen ihr eigenes Charsetgemurmel wo die Standardzeichen alle verschieden kodiert werden und alle Browser dieser Welt das dann auch einheitlich gebacken kriegen.


Edit: Was meinst du eigentlich mit Bypass sicher?
 
Zurück
Oben