3d3f803e

Пользовательский ввод.


"Любой ввод со стороны пользователя постоянно подвергается попыткам атаки." Выучите эти слова и повторяйте их сами себе каждый день. От вас требуется анализировать любую информацию и данные, передаваемые CGI-скрипту от пользователя. Хакер может с легкостью испытывать ваше CGI-приложение на выполнение команд, которые могут скомпроментировать систему.

Стоит добавить, что если на сервере включена поддержка SSI, то если CGI-скрипт позволяет ввести пользователю текст, кторый потом будет интерпетироваться браузером пользователя, что происходит в приложениях типа гостевой книги (GuestBook), то хакер может легко ввести SSI-команды, которые браузер успешно выпольнит. Это достаточно часто всречающаяся ошибка в приложениях подобного рода.

Решение этой проблемы сводится к тому, чтобы фильтровать все данные, передаваемые пользователем и удалять любое вхождение SSI-кода. Как правило, это строки типа "<!" , "<-". Лучшим вариантом конечно будет отключить выполнение команд SSI, особенно в сочетании с CGI, т.к. в комплексе они составляют двойную опасность.

Другое, что хотелось бы сказать в заключение, что хакер может и не воспользоваться браузером, а получать и отправлять http-трафик своей программой, что дает ему возможность изменять количество полей формы ввода, просматривать информацию в полях hidden-типа (скрытых полях), которые используются для ввода паролей. Таким образом хакер может передать CGI-сценарию лишнее поле, что может повлиять на устойчивось системы. Поэтому подобного рода данные тоже нужно ограничивать и проверять.



Содержание раздела