Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2011, 20:15
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

innerHTML и безопасность
Добрый день всем!
Сделал я форму для отправки сообщений и снизу этой формы отображаю все что вводится пользователем ( заменяя с помощью innerHTML смайлики на картинки )
Я понимаю, что с точки зрения безопасности это не сильно хорошо отображать введенный пользователем текст в виде html.
Пробовал множество скриптов, но ни один из них не сработал...
Вопрос насколько это безопасно?
Ответить с цитированием
  #2 (permalink)  
Старый 22.10.2011, 20:24
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от sommer
Вопрос насколько это безопасно?
Открываете возможность для sql инъекции.-Внедрение нтмл кода(могут внедрить скрипт код в текст со свистом ). Соответственно, если этот текст будет отображаться у других пользователей,сможет делать всё что может JS.
Защита:
Вставляйте не в виде нтмл ,а в виде какойто последовательности символов.
Используйте хнтмл ,заключайте код смайликов в свои теги и на сервере удаляйте из полученного все теги кроме этих.

Последний раз редактировалось dmitriymar, 22.10.2011 в 20:26.
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2011, 21:35
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от dmitriymar
Открываете возможность для sql инъекции.
При чём тут SQL инъекция?
Сообщение от sommer
Я понимаю, что с точки зрения безопасности это не сильно хорошо отображать введенный пользователем текст в виде html.
Отображать вводимый пользователем HTML вполне безопасно. Другое дело, когда злоумышленник имеет возможность сохранить HTML код (в теле сообщения, скажем) так, что его увидят другие пользователи, либо указать такой запрос, что код будет выполнен у другого пользователя автоматически (или по некоторому действию).

А юзер и так имеет возможность выполнить произвольный код на страничке у себя в браузере: банальный протокол javascript:, например.
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2011, 22:09
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от B@rmaley.e><e
При чём тут SQL инъекция?
Это инъекция тоже,ничего не мешает и sql внедрять.
Да и нтмл внедрение тоже называют sql инъекцией-в нескольких источниках встречал.
Возможно изза того ,что скрипт код при выполнение на клиенте может инициировать свои запросы,а учитывая нтмл5(работу с базами) -это вообще чистейшая инъекция.
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2011, 00:24
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от dmitriymar
Это инъекция тоже,ничего не мешает и sql внедрять.
И как оно связано с отображением вводимого текста? Правильно, никак.
Сообщение от dmitriymar
Да и нтмл внедрение тоже называют sql инъекцией-в нескольких источниках встречал.
"Не читайте до обеда советских газет" ©
Сообщение от dmitriymar
Возможно изза того ,что скрипт код при выполнение на клиенте может инициировать свои запросы,а учитывая нтмл5(работу с базами) -это вообще чистейшая инъекция.
И какие данные он из этой базы утащит?
Ответить с цитированием
  #6 (permalink)  
Старый 23.10.2011, 04:18
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

плюс к этому xss, он имел в виду.
Ответить с цитированием
  #7 (permalink)  
Старый 23.10.2011, 10:31
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от B@rmaley.e><e
И какие данные он из этой базы утащит?
если есть базы с какими можно работать с помощью js значит и есть данные какие можно утащить из них.
Те есть если ты вложешь sql код в текст сохраняемый в базе он не выполниться? выполниться вложенный запрос, если не защитит-это не sql инъекция?
Ответить с цитированием
  #8 (permalink)  
Старый 23.10.2011, 10:42
Новичок на форуме
Отправить личное сообщение для sommer Посмотреть профиль Найти все сообщения от sommer
 
Регистрация: 28.07.2010
Сообщений: 9

Господа!
Дайте лучше живой пример!
Так как все хак скрипты что я пробовал не сработали...
А вот если сохранить сообщение с внедренным скриптом в базе и потом его отобразить с помощью innerHTML, то они вполне работают.
Ответить с цитированием
  #9 (permalink)  
Старый 23.10.2011, 10:52
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от dmitriymar
если есть базы с какими можно работать с помощью js значит и есть данные какие можно утащить из них.
Эти данные хранятся у клиента. Воровать данные у самого себя как-то глупо.
Сообщение от dmitriymar
Те есть если ты вложешь sql код в текст сохраняемый в базе он не выполниться? выполниться вложенный запрос, если не защитит-это не sql инъекция?
Про сохранение в базе в посте ТС ничего не говорилось.
Ответить с цитированием
  #10 (permalink)  
Старый 23.10.2011, 11:29
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от B@rmaley.e><e
Эти данные хранятся у клиента. Воровать данные у самого себя как-то глупо.
да на почему у себя?увести данные сможет любой кто введёт скрипт код в сообщение.
Сообщение от B@rmaley.e><e
Про сохранение в базе в посте ТС ничего не говорилось.
учитывая что он смйлики и т.д хочет -эт чтото на манер форума-так что базы неизбежны по идее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На подобие innerHTML qwermjk Общие вопросы Javascript 6 02.11.2010 03:10
Помогите плз innerHTML chelsea Общие вопросы Javascript 5 20.09.2010 15:33
InnerHTML почему-то работает не так, как хотелось бы. помогите Dima00782 Общие вопросы Javascript 2 13.06.2010 21:17
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57