PDA

Просмотр полной версии : Подмена _SESSION


GivioN
06.04.2010, 02:00
есть такой код:

$user=$_SESSION["username"];
$res=mysql_query("select count(id) as kolvo from tb_mail where recipient='$user' and status='0'");

если делать такой запрос где PHPSESSID=7ba177bc78c63a6a8a4a5d02212e7185

то переменная $user будет иметь значение givion и mysql_query выполнется.

Вопрос: Какое значение PHPSESSID=ххххххх нужно отправить что бы $user имела значение например двойной ковычки в следствии чего скрипт выдал бы ошибку? Так же интерисует как генерируется этот хеш PHPSESSID=7ba177bc78c63a6a8a4a5d02212e7185

Jokester
06.04.2010, 02:13
http://www.phpfaq.ru/sessions

GivioN
06.04.2010, 10:23
То есть как я понял сессия генерируется при авторизации и ей присваивается уникальпый хеш который сохраняется на сервере и в браузере клиента? то есть не реально сгенерировать такой индетификатор сессий*при подстановке которого в массив,переменная user будет иметь значение двойной ковычки?

Следовательно вмой код не уязвим?

Qwazar
06.04.2010, 11:13
Зависит от того есть ли ещё уязвимые сайты на этом сервере. Так же от того, есть ли возможность создать пользователя с кавычкой в его имени, и достаточной длины. (При условии, что кавычка попадает в сессию незаэкранированной)

GivioN
07.04.2010, 18:49
Зависит от того есть ли ещё уязвимые сайты на этом сервере.
Поясни пожалуйста, не могу уловить твою идею.


Так же от того, есть ли возможность создать пользователя с кавычкой в его имени, и достаточной длины. (При условии, что кавычка попадает в сессию незаэкранированной)

Это, нет конечно, там mqc=on и поля логина фильтруются.

Так же хотелось бы найти этот индетификатор сессий, который хранится на сервере. Сборка: денвер

Qwazar
08.04.2010, 11:38
Поясни пожалуйста, не могу уловить твою идею. https://forum.antichat.ru/showthread.php?t=72298