LINUX.ORG.RU

Избранные сообщения splinter

Гостевая книга - поиск уязвимостей

Пишу для домашней странички простейшую гостевую книгу на языке PHP. Возникли дополнительные вопросы, прошу помощи.

Сообщения посетителей с указанием e-mail сохраняются в текстовом файле, который находится за пределами папки «DocumentRoot» веб-сервера.
Перед сохранением сообщения в файл скрипт производит замену символов:

  • символ «&» заменяет командой «& a m p ;»
  • «<» заменяет кодом «& l t ;»
  • «>» заменяет «& g t ;»
  • символы перевода строки «\r», «\n» заменяет тегом «<br>», т.к. переводы строки отделяют друг от друга записи в файле
  • символ «|» заменяет кодом «& # 124 ;», т.к. вертикальная черточка используется в качестве разделителя полей в составе записи

Список недочетов гостевой книги, в том числе, в плане защищенности:

  • не реализована защита от приема повторно направленных данных, т.е. нафлудить можно нажатием «F5» в браузере :)
  • не осуществляется проверка правильности указания e-mail на основе шаблона «user@sub.domain», в составе имени посетителя можно указывать любые символы
  • скрипт не проверяет переменную «REFERER», т.е. будет принимать данные формы с постороннего сайта (такая атака называется CSRF)

Возникли следующие вопросы:

  • Может ли потенциальный злоумышленник «украсть» текстовый файл, в котором хранятся сообщения посетителей с указанием e-mail'ов?
    Если может, то как предотвратить такую утечку информации?
  • Возможно ли внедрить в сообщение теги, спецсимволы HTML наподобие ©, код JavaScript, либо PHP с целью отображения у остальных посетителей, исполнения на сервере? Если возможно, то как это предотвратить? Подразумевается возможность выполнения атак «Cross-site Scripting» (XSS) и «PHP Injection».
  • Какие, по вашему мнению, еще могут быть недочеты у гостевой книги в плане защищенности от «взлома», нарушения работы?

Спасибо.

Deleted
()

Как писались 3D игрушки типа DukeNukem3D или Quake, Doom?

Приветствую, потыкайте носом, где почитать, как писались старые 3D движки типа DukeNukem3D. Не помню, где-то находил, был разбор, как такой движок устроен и были примеры кода, а сейчас вот найти не могу (

xterro
()

Наш ответ starcraft'у

игра на движке Unigine (cast binstream)

http://www.youtube.com/watch?v=xI-Ytfp3jfI&feature=plcp

Ъ: очень похоже на старкрафт2.

pashazz
()

Посоветуйте игр, резво работающих в Wine

 , ,

Хочу что-нибудь постапокалиптическое, жанр не важен, желательно, чтобы был ragdoll. Хочу запускать в Wine, ибо нативного ничего такого нет.
Новые Fallout'ы не предлагать.

CYB3R
()