#logging
#ведение журнала
Вопрос:
«Кроме того, файлы журнала могут содержать информацию, предоставленную непосредственно клиентом, без экранирования. Следовательно, вредоносные клиенты могут вставлять управляющие символы в файлы журналов, поэтому при работе с необработанными журналами необходимо соблюдать осторожность «.
http://httpd.apache.org/docs/1.3/logs.html
Что это значит, когда говорится «без экранирования»?
Ответ №1:
Экранирование — это когда вы берете, например, CRLF (перевод строки в стиле Windows) и превращаете его в r n, которые представляют собой 2 «экранированных» символа, которые вам понадобятся для этого, t — это tab и т.д. Это приводит их к форме, в которой они не «готовы», но вы знаете, что они там были, и их можно вернуть в исходную форму
Ответ №2:
Прочитайте: http://en.wikipedia.org/wiki/Code_injection#Shell_injection
Если бы я должен был экранировать html, <a>
был бы экранирован в amp;<aamp;>
Таким образом, код не будет отображаться и не будет выполняться (и, следовательно, считается безопасным).
Если бы я принимал вводимые пользователем данные и передавал их напрямую другим пользователям, кто-то мог бы поместить туда вредоносный код. Например: http://myunsafesite.com?comment=<script>alert('i steal cookies')</script>
Хотя приведенный выше пример не применим к файлу журнала, в файловой системе действует тот же принцип. Успешные эксплойты могут позволить злоумышленникам создавать новые файлы и выполнять код на веб-сервере.