Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Возможен ли Hack ???


Автор: APro 1.12.2008, 18:03
Хотелось бы услышать мнения Pro кодеров  smile ... (сейчас попробую правильно сформулировать)

Если пользователю разрешить ввести любой текст в скрипте, а потом сделать echo на этот текст, возможен ли хак? (я предпологаю что да)

Если да, то скажите, как сделать, чтобы хак был не возможен, но если это был HTML, то чтобы он вывел HTML, а не обрезал теги...

Sorry за такой глупый вопрос, но мне сейчас это нужно знать!

Автор: ksnk 1.12.2008, 18:09
Выполнение зловредного кода на сервере - невозможно.

Выполнение зловредного кода на компьютере другого пользователя - возможно, в рамках vbscript/javascript и ограничений клиентского броузера.

Если это считать хаком - то да. Основной вред, imho, наносится репутации сервера.

Автор: APro 1.12.2008, 18:27
а произвольный PHP скрипт?

Автор: Валерия 1.12.2008, 18:32
APro, нет, нельзя.
Ты ведь echo делаешь, а не eval smile
А сессию украсть - легко.

Автор: skyboy 1.12.2008, 18:35
РНР-код в виде строкового значения переменной можно выполнить только одним из трех способов:
1. применить http://php.net/eval
2. записать код в файл и подключить этот файл через http://php.net/include/http://php.net/require
3. написать на РНР интерпретатор РНР-кода и передать интерпретатору строку с кодом
любыми другими средствами, в т.ч. посредством вывода, код на стороне сервера выполнить невозможно.

Автор: Wolf1994 1.12.2008, 18:52
Цитата(APro @  1.12.2008,  18:03 Найти цитируемый пост)
то чтобы он вывел HTML, а не обрезал теги...

IMHO, обрезать "<script...></script>".

Автор: ksnk 1.12.2008, 18:54
skyboy, для комплекта. smile
Можно еще вставить в запрос, выполнить mysql_query и нарваться на sql-injection. 

Автор: nerezus 2.12.2008, 11:13
Цитата

IMHO, обрезать "<script...></script>".
 И? Что это даст?

А топикстартер идет насиловать гугл по теме XSS.

Автор: Wolf1994 2.12.2008, 13:27
Цитата(nerezus @  2.12.2008,  11:13 Найти цитируемый пост)
И? Что это даст?

Отключение скриптов не защитит от CSS?

Автор: APro 2.12.2008, 15:38
Цитата(Wolf1994 @  2.12.2008,  13:27 Найти цитируемый пост)
Отключение скриптов не защитит от CSS?

а вообще, причём тут CSS? Разговор идёт о выполнение XSS и произвольного PHP запроса (sql-inj тут и не пахнет)!

Сделал небольшие выводы!  smile

а shtml include реально сделать? (или я уже что-то путаю)

Автор: Sanchezzz 2.12.2008, 16:43
ну если у тебя выполняется html и phtml как php то хак возможен. ябы рекомендовал бы html код и всякую гадость экранировать.
APro лучше сделай проверки на те данные которые тебе нужно принять.
------------------------------------------------------

Валерия и как ты сессию украдешь чужую если она живет 1 день или пока пользователь не закроет клиента.

даже если тебе и удастся узнать чудесным образом 37-38 символов значение сессией сделать ты нечего не сможешь любой заход с твоего компьютера ее затирает + ты ее не скачаешь со своего компьютера.

Авторизация на сессиях это самый безопасный механизмом авторизации. Если у вас чета угоняли значит  криво написали или у вас легкая зашита.
------------------------------------------------------


Автор: Wolf1994 2.12.2008, 17:25
Цитата(APro @  2.12.2008,  15:38 Найти цитируемый пост)
а вообще, причём тут CSS? Разговор идёт о выполнение XSS

CSS - cross site scripting, альтернативное название: XSS, чтобы не путать с cascade style sheets.

Автор: APro 2.12.2008, 17:57
Цитата(Wolf1994 @  2.12.2008,  17:25 Найти цитируемый пост)
CSS - cross site scripting, альтернативное название: XSS, чтобы не путать с cascade style sheets.

ой, какой ты умный LOL .... (сострил)

Автор: Валерия 2.12.2008, 18:07
Цитата(Sanchezzz @  2.12.2008,  16:43 Найти цитируемый пост)
даже если тебе и удастся узнать чудесным образом 37-38 символов значение сессией сделать ты нечего не сможешь любой заход с твоего компьютера ее затирает + ты ее не скачаешь со своего компьютера.

32 символа.
Подставляю себе в куку такую сессию - и я авторизирована под тем пользователем, и могу делать всё что позволит скрипт smile
С чего это любой заход с моего компьютера её затирает?
И всмысле не скачаю со своего компьютера?
Я могу сделать сессию которая будет работать даже тогда когда юзер браузер закроет и потом сново откроет smile

Автор: Sanchezzz 2.12.2008, 18:18
Валерия ( smile сессии куки и сессии апача совсем разные. Может мне скрипт для хака написать?

Автор: Валерия 2.12.2008, 18:26
Цитата(Sanchezzz @  2.12.2008,  18:18 Найти цитируемый пост)
Валерия (  сессии куки и сессии апача совсем разные. Может мне скрипт для хака написать?

В сессии хранится айдишник сессии апача, а в апаче непосредственно инфа о переменных и их значених.
Эту инфу, даже зная айди сессии никак, кроме как скриптом, вытащить нельзя.
Но вот подставить в другой компьютер в куку айди этой сессии - легко.
Т.е, например, даже если мы на этом форуме стащим куку и подставим её в другой комп (браузер) и запустим форум, то мы будем залогинены под тем логином, кука которого была скопирована.
А бесконечное время жизни можно прописать как для кук так и для сессии апача.

Автор: APro 2.12.2008, 18:59
Sanchezzz, согласен с тобой!

Валерия, было бы всё так просто, этот форум давно бы уже взломали! Да и вообще любой сайт построенный на сессиях и т.п.

Автор: nerezus 2.12.2008, 19:06
Цитата

Отключение скриптов не защитит от CSS?
 Защищает.
Но вырезание <scrip> не вырезает скрипты. Этого далеко недостаточно, чтобы вырезать скрипты.

Автор: ksnk 2.12.2008, 19:32
APro, Сила сессий не в этом. smile, а в том, что стащить живой sessid достаточно сложно. Если это становится простым, то и ценность такой защиты уменьшается до нуля. 

Цитата

...было бы всё так просто, этот форум давно бы уже взломали!

Я надеюсь, что авторы этого форума не позволяют любому юзеру размещать исполняющиеся скрипты на страницах форума ;-)

Автор: Валерия 2.12.2008, 19:37
Цитата(APro @  2.12.2008,  18:59 Найти цитируемый пост)
Валерия, было бы всё так просто, этот форум давно бы уже взломали! Да и вообще любой сайт построенный на сессиях и т.п.

Дык, проблема в том, что этот форум не даёт написать <script></script> подобные теги, из за этого и не взламывается)
достаточно просто заменять < и > на их кода smile
Кстати, подобные форумы уже не раз взламывали таким образом, и прочие другие сайты.
Не совсем давно на яндекс почте нашли как в теле письма выполнить джаваскрипт, отправляли письмо комуто, тот его читал, сниффер получал куку, её себе ставишь, и у тебя доступ)
Почитай побольше про XSS, например на antichat.ru

Автор: nerezus 2.12.2008, 19:50
Цитата

Почитай побольше про XSS, например на antichat.ru
 +1
/me там СМ

Автор: skyboy 2.12.2008, 20:04
Цитата(Валерия @  2.12.2008,  18:37 Найти цитируемый пост)
Дык, проблема в том, что этот форум не даёт написать <script></script> подобные теги, из за этого и не взламывается)

javascript можно вставить и в onclick/onmousemove, например. ты правильно говоришь, но делаешь нажим на <script>. А надо вычищать все. Как и говорит nerezus.

Автор: nerezus 2.12.2008, 20:15
<img src="javascript:alert('bebebe')"> вот без <script> пример.

Автор: Валерия 2.12.2008, 21:02
Однозначно если все < и > позаменять, то ничего не выйдет)
Разве что если свои теги будет добавлять, например в квадратных скобках, то через них)

Автор: Wolf1994 2.12.2008, 23:15
Цитата(Валерия @  2.12.2008,  19:37 Найти цитируемый пост)
достаточно просто заменять < и > на их кода 

То есть, если указать коды символов "<",">" можно выполнить скрипт? Как с этим бороться? htmlcpecialchars помогает?

Добавлено через 9 минут и 59 секунд
Проверил - помогает smile

Автор: Валерия 3.12.2008, 02:52
Я имела ввиду если пользователь вводит текст с какойто формы, и к принятой скриптом переменной применить mysql_real_escape_string для защиты от sql инъекций, и заменить > на &gt; а < на &lt; для предотвращения XSS то твой сайт через это НИКАК не хакнут.

Автор: theworldcreator 3.12.2008, 03:10
http://www.securitylab.ru/analytics/274302.php
Вариация на тему, для общей эрудиции

Автор: APro 3.12.2008, 12:41
theworldcreator, nice  smile 

Автор: Валерия 3.12.2008, 16:35
theworldcreator, я вообще про такое не знала))) Классно)

Автор: skyboy 4.12.2008, 01:42
theworldcreator, спасибо за ссылку.
над 
Цитата

Internet Explorer 6 и 7 не позволит произвести атаку такого типа. 

ржал в голос. потому что пседозаслуга ИЕ - на самом деле отсутствие поддержки http://ru.wikipedia.org/wiki/Data:_URL, вполне стандартизованной и в некоторых случаях - полезной. т.е. "Неуловимый Джо, который никому нафиг не нужен" smile Ещё б про Lynx заговорили.

Автор: drakylar 30.7.2015, 11:45
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)