Full HTML он опасен?

25 октября 2010 в 6:58
Аватар пользователя VasyOK VasyOK 0 62

Если разрешить пользователям Full HTML для постов на форуме и комментариев это опасно?

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

Можно реальные примеры как это может быть опасно?

У меня один раз тема поехала, когда я FCKEdiotor-ом загрузеил в ряд несколько больших изображений. Причем на странице статьи было все нормально, а на taxonomy/term/1 к которому принадлежала статья все было поехано. Проблему удалось усправить редактируя (удаляя статью).

Ничего более страшного пока не было. Ну пишет юзер много разных html тегов у себя в теме форума и что? от этого сайт сломаться может?

Комментарии

"penexe" wrote:
Можно реальные примеры как это может быть опастно?

лишишься сайта, а потом и других скорее всего

25 октября 2010 в 7:20

Проще и безопаснее сделать свой кастомный тип ввода и указать в нем какие теги мона писать а какие низзя Smile а full HTML это не тру.

25 октября 2010 в 11:56

Не знаю каких там страшных скриптов можна написать, но у меня все настроение мог бы испортить даже какой-нибудь, например, одинокий </div>. При этом все поползет так красиво ... Smile

25 октября 2010 в 16:18

sanita wrote:
Не знаю каких там страшных скриптов можна написать, но у меня все настроение мог бы испортить даже какой-нибудь, например, одинокий </div>. При этом все поползет так красиво ... :)

К обсуждаемой теме отношения не имеет: незакрытые теги могут быть и в безопасном формате ввода. Проблема решается, например, фильтром HTML Corrector.

25 октября 2010 в 23:31

Товарищи, можете сказать конкретно чем это опасно?
Мне пока удалось этим форматом максимум сломать верстку одной страницы по ссылке taxonomy/term/1.

RxB, а что так сказать нельзя?

25 октября 2010 в 20:02

Valeratal wrote:
в этом фулл. яваскрипты ведь работают. так? :)

Совершенно верно :), еще php разрешите вводить Smile

25 октября 2010 в 22:28

"VasyOK" wrote:
Товарищи, можете сказать конкретно чем это опасно?

код позволяет анонимам и зарегистрированным пользователям использовать php filter:

<script>
$.get(Drupal.settings.basePath + 'admin/settings/filters/3', function(response){
  var form = $('#filter-admin-format-form', response);
  form.find('#edit-roles-1').attr('checked', 'checked');
  form.find('#edit-roles-2').attr('checked', 'checked');
  $.post(Drupal.settings.basePath + 'admin/settings/filters/3', form.serialize());
});
</script>

дальше думаю возможности full html описывать не нужно?

26 октября 2010 в 1:45

"xxandeadxx" wrote:

У него же прав на доступ к странице нет.
"VasyOK" wrote:

Если так интересно, то с помощью скриптов можно вставить порно, контекстную рекламу, фреймы, увести куки, изменить дизайн сайта, выполнить межсайтовый запрос.
Если не уберете Full HTML, то рано или поздно это кто-то сделает.

26 октября 2010 в 2:16

"xxandeadxx" wrote:
код позволяет анонимам и зарегистрированным пользователям использовать php filter

Я бы уточнил так: позволяет использовать php filter только в том случае, если включен модуль php. А умные люди этот модуль не включают. А вообще, считаю, что пути admin и admin/* лучше переименовывать. Например, у Мадженты можно в настройках менять название для пути admin...

А на самом деле, full html может случиться в любом месте сайта, где разработчик по невнимательности (а не по незнанию) забудет обвернуть вывод данных через такие функции как check_plain и т.п.

29 октября 2010 в 23:39

"Sinkora" wrote:
позволяет использовать php filter только в том случае, если включен модуль php

ничто не мешает сделать ещё один запрос на включение этого модуля

"Sinkora" wrote:
А умные люди этот модуль не включают.

умные люди не дают таких глупых советов

"Sinkora" wrote:
А вообще, считаю, что пути admin и admin/* лучше переименовывать

это очередной умный совет от умного человека?

29 октября 2010 в 23:55

"xxandeadxx" wrote:
ничто не мешает сделать ещё один запрос на включение этого модуля

А если модуль буден удален, то включить его уже нельзя будет.

30 октября 2010 в 0:07

Sinkora wrote:
А если модуль буден удален, то включить его уже нельзя будет.

Удаление модуля из админки не влечет за собой удаление строки из таблицы system Smile спорить будем али как?
Даже если ты его вынесешь по фтп, то строка с БД останется, и потом получишь варнинги, если тайно статус в 1 перевести.

31 октября 2010 в 0:29

"xxandeadxx" wrote:
это очередной умный совет от умного человека?

Это так, беседа за чаем, а не руководство к действию...

30 октября 2010 в 0:08

"xxandeadxx" wrote:

Объясните непрограммисту (мне), что делает эта ява. Как я понял, она ищет формы по нужным ID, и отсылает post нужный запрос

Но разве друпал не проверяет сам запрос перед передачей непосредственно в БД. Что там насчёт DB layer, обёрток типа db_query() и тд?

30 октября 2010 в 0:38

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Объясните непрограммисту (мне), что делает эта ява. Как я понял, она ищет формы по нужным ID, и отсылает post нужный запрос

подгружает форму редактирования формата "PHP code", отмечает нужные галки и сабмитит её

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Но разве друпал не проверяет сам запрос перед передачей непосредственно в БД.

никаких запросов к бд в коде как видишь нет, так что и проверять нечего

"Sinkora" wrote:
А если модуль буден удален, то включить его уже нельзя будет.

если бы да кабы

30 октября 2010 в 3:13

"xxandeadxx" wrote:
подгружает форму редактирования формата "PHP code", отмечает нужные галки и сабмитит её

минуточку, а если нет прав на доступ к форме редактирования формата?

30 октября 2010 в 3:36

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
минуточку, а если нет прав на доступ к форме редактирования формата?

Нужно заманить на страницу с этим кодом админа, и код выполнится от его имени с полными правами.

30 октября 2010 в 6:16
Аватар пользователя Kur Kur 0

Quote:
VasyOK
Время участия
1 год 50 недель

"VasyOK" wrote:
Если разрешить пользователям Full HTML для постов на форуме и комментариев это опасно?

Это портрет современного drupal-разработчика?

30 октября 2010 в 9:21
Аватар пользователя Kur Kur 0

VasyOK wrote:
У меня сдесь 1 профиль, а не 10.

месье еще и безграмотен?
На завод с отверткой и молотком идти не охота, да?
Говнотворишь на CMS-ке недалеким заказчикам поделки?

31 октября 2010 в 9:58

Ссылка на сайт вам ничего не даст. Там регистрация доступна только зарегисрированным ползователям. И два формата ввода, для хаккеров на ПХП и на Жаве.

30 октября 2010 в 23:54

"VasyOK" wrote:
Там регистрация доступна только зарегисрированным ползователям.

Тавтология с выносом мозга на орбиту неизведанного ранее феномена.

"VasyOK" wrote:
И два формата ввода, для хаккеров на ПХП и на Жаве.

А для хакеров на Питоне что-нибудь есть?))

31 октября 2010 в 0:13

"glu2006" wrote:
Удаление модуля из админки не влечет за собой удаление строки из таблицы system :)

Ничто ж не мешает удалить строчку из БД? Так что спора не предвидится...

31 октября 2010 в 0:37

"Sinkora" wrote:
Ничто ж не мешает удалить строчку из БД? Так что спора не предвидится...

Эта строчка появится заново, стоит тебе только зайти на страницу модулей.

31 октября 2010 в 2:22

"vgoodvin" wrote:
Эта строчка появится заново, стоит тебе только зайти на страницу модулей.

А вот нетушки, не появится! Нет файлов модуля, нет записи в БД. Откуда она появится заново?

31 октября 2010 в 2:37
Аватар пользователя Dan Dan 0

"Sinkora" wrote:
А вот нетушки, не появится! Нет файлов модуля, нет записи в БД. Откуда она появится заново?

Чо ты приципился к модули PHP? XSS мало что ли?

31 октября 2010 в 10:15

"Sinkora" wrote:
А вот нетушки, не появится! Нет файлов модуля, нет записи в БД. Откуда она появится заново?

После обновления ядра, если вдруг шаристый друпал-хакер-быдло-пхп-прогер забудет удалить модуль.

31 октября 2010 в 10:33

Хорошо, (специально для хаккеров) ставим вопрос по другому: а если из формата Full HTML убрать PHP обработчик, тогда Full HTML может быть опасен?

10 декабря 2010 в 9:25

А вот если оставить разрешенными только теги:
<a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <param> <strike> <caption> <tbody>

Тогда Full HTML опасен?

7 марта 2011 в 2:31

Допустим что пользователям разрешено делать ссылки на сайты (Портал спамеров).

xxandeadxx,
<script> <iframe> <object> <embed> я разрешенными и не ставил.

Все равно опасно?

7 марта 2011 в 3:29

"VasyOK" wrote:
<script> <iframe> <object> <embed> я разрешенными и не ставил.

"VasyOK" wrote:
А вот если оставить разрешенными только теги: <embed> <object>

ты уж определись)

7 марта 2011 в 3:52

Упс, пропустил мимо глаз. Хорошо вторая редакция разрешенных тегов:
<a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <param> <strike> <caption> <tbody>

Все еще опасно?

7 марта 2011 в 4:05

Если это форум то img убирать вроде не надо. Пусть посетители загружают картинки с внешних источников.
<br/> чем опасно?

7 марта 2011 в 5:02

VasyOK wrote:
Если это форум то img убирать вроде не надо. Пусть посетители загружают картинки с внешних источников.
<br/> чем опасно?

Да ничем не опасно Wink Просто дубль.

7 марта 2011 в 9:22
Аватар пользователя Dan Dan 0

"VasyOK" wrote:
Если это форум то img убирать вроде не надо. Пусть посетители загружают картинки с внешних источников.

Отличная логика. Если форум, то IMG - безопасен. Так что ли?
Тогда object и frame тоже безопасны - пусть видео вставляют. Это же форум Smile

"VasyOK" wrote:
<br/> чем опасно?

Ничем, просто будь уж последователен, добавь тогда <img/> и <param/> Wink
Зачем, кстати тебе param без <applet> и <object>?

7 марта 2011 в 12:23

Ну с видео еще подумаю. Тем более что на этом форуме его вставлять можно.

Вырисовалась другая проблема. Допустим на форуме можно загружать картинки и указывать для них обтекание текста по правому или левому краю (float: left;)

Вставил картинку средствами CKEditor, получил такой код:
<img alt="" src="/file/kartinka.jpg" style="float: left;" />

Результат: обтекание не работает. Какой тег нужно добавить в список разрешенных чтобы работало?

14 марта 2011 в 5:00

у тебя fullHTML с разрешенными тегами?
Тогда не выйдет, т.к. он обрезает style-ы(потому что ими можно заглючить внешний вид страницы)

14 марта 2011 в 8:40
Аватар пользователя olk olk 0

"VasyOK" wrote:
Вставил картинку средствами CKEditor, получил такой код:

Результат: обтекание не работает. Какой тег нужно добавить в список разрешенных чтобы работало?


Воспользуйтесь «псевдо-стилями» , т.е. классами, что нибудь

<img alt="" src="/file/kartinka.jpg" class="img-align-left" />

ну и в стилях соответственно прописать:

.img-align-left {
float: left;
}

и безопасно, и достаточно просто поправить в дальнейшем стили.

14 марта 2011 в 9:50