Encoding: ESAPI

Pokazanie przykładów niewłaściwego encodingu mamy za sobą (patrz: #1, #2, #3, #4 i #5). Na koniec przykład: http://bootcamp.threats.pl/lesson09b/, w którym encoding jest realizowany za pośrednictwem ESAPI (konkretnie owasp-esapi-php, jest to jeszcze wersja nieprodukcyjna). Dane wpisane przez użytkownika wypisywane są w trzech miejscach, w których encodowane są przy pomocy funkcji:

Funkcja doStuff obecnie coś robi, konkretnie wypisuje wartość otrzymanego parametru w drugim textarea. Zrobiłem to po to, by każdy mógł się przekonać, że te dziwne znaczki, które generuje ESAPI to rzeczywiście to, co zostało oryginalnie przekazane. A te dziwne znaczki wyglądają tak:

Dla encodeForJavaScript w kontekście atrybutu HTML:

demo 1

Dla encodeForJavaScript i encodeForHTMLAttribute w kontekście atrybutu HTML:

demo 2

Jeszcze raz dla encodeForJavaScript , tym razem w kontekście skryptu:

Mam nadzieję, że ten przykład wystarczająco dobrze pokazuje, że:

I tym optymistycznym akcentem kończę ten temat. Przynajmniej na jakiś czas.

Oryginał tego wpisu dostępny jest pod adresem Encoding: ESAPI

Autor: Paweł Goleń