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

совершенно невинны и, кажется, указывают на сайты, которым доверяют. Особо уязвимые

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

скрипты отключены.

Пока вы не увидите и не поймете источник, вы не сможете узнать, что

сама ссылка содержит вредоносный код. В текстовой вики, напротив, все

активные URL-ссылки генерируются из источника на лету, поэтому такой вид спуфинга

не так просто.

Разрешение случайному пользователю вики редактировать непосредственно в HTML упрощает такие ссылки.

построить. Несмотря на то, что этот источник также виден любому, кто хочет изучить

вики-странице, маловероятно, что большинство заметит.

Совет 633. Отфильтруйте некоторые HTML-теги

Администратор общедоступной вики, разрешающий бесплатное редактирование HTML на страницах, должен

внедрить фильтры, чтобы такие идентифицируемые конструкции тегов риска просто не могли

быть спасенным (или служить).

Информацию по этому вопросу от февраля 2000 г. можно найти на сайте www.cert.org/.

рекомендации/CA-2000-02.html.

Оставив в стороне вопросы безопасности, мы далее рассмотрим некоторые практические вопросы разрешения

Редактирование HTML при создании вики.

HTML в исходнике вики

Когда исходный код HTML разрешен в исходном тексте вики, возможны две ситуации:

которые могут происходить на одной странице:

• Встроенная HTML-разметка, которую можно свободно смешивать с вики-разметкой.

• Блоки HTML, в которых нормальный анализ синтаксиса вики приостановлен.


ВЗЛОМ ВАШЕГО ИСТОЧНИКА WIKI

203

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

синтаксис вики — например, <HTML>...</HTML>. Это может быть использовано для разработки специальной формы

компоненты на странице или вставить фрагменты существующих HTML-документов. встроенная маркировка,

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

не поддерживается синтаксисом вики, но по-прежнему включает обычную вики-разметку и ссылки.

В любом случае, анализ синтаксиса вики должен обнаруживать действительные HTML-теги.

и воздерживаться от «перевода» их угловых скобок в коды, которые производят

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

автор страницы должен создать допустимый синтаксис HTML.

Возможно упрощенное обнаружение состоит в том, чтобы предположить, что парные скобки <...> определяют теги и

соответствующим образом изменить замену метасимволов.

До этого все HTML-блоки должны быть сохранены, как и экранированный блок.

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

теги перед заменой непарных экземпляров. Изменение кода для этого минимально: