Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #99, МАРТ 2007 г.

FAQ

Степан «Step» Ильин

Хакер, номер #099, стр. 142


(faq@real.xakep.ru)

Задавая вопрос, подумай! Не стоит посылать мне вопросы, так или иначе связанные с хаком/кряком/фриком, для этого есть Hack-Faq (hackfaq@real.xakep.ru), не стоит также задавать откровенно ламерские вопросы, ответы на которые ты при определенном желании можешь найти и сам. Я не телепат, поэтому конкретизируй вопрос, присылай как можно больше информации.

Q: Я начинающий программист на ASP.NET. Подскажи, как можно защититься от атак Cross-site scripting (XSS)?

A: Давай разберемся, что вообще представляют собой XSS. XSS – это уязвимость, позволяющая внедрить в страницу на сервере произвольный код путем передачи его в качестве значения некоторой нефильтруемой переменной скрипту, который эту страницу генерирует. Наиболее распространенный и в тоже время очень опасный прием заключается в инжектировании в страницу такого кода, который будет считывать информацию о кукисах посетителей и отправлять их на известный хакеру сайт. Получив таким образом кукисы администратора или другого привилегированного пользователя, хакер может беспрепятственно зайти в закрытую зону сайта (например, в админку) и делать там все что угодно. Несмотря на всю опасность таких атак, их довольно легко можно предотвратить. Главное - разобраться, когда они в принципе возможны, и просто не допускать подобные ситуации. Всего существует три предпосылки для осуществления XSS-атак: недостаточная проверка входных данных, отсутствие кодирования выходных данных и использования информации из разделяемой базы данных без всякой проверки. Любые, подчеркиваю, абсолютно любые входные данные могут содержать вредоносные вставки хакера. Необходимо тщательно проверять формат данных, их тип и, в случае необходимости, диапазон. В этом тебе помогут специальные механизмы проверки ASP.NET, такие как RegularExpressionValidator и RangeValidator, а также система регулярных выражений (класс System.Text.RegularExpressions.Regex), позволяющая осуществлять самый жесткий контроль входящих данных, поступающих из форм пользователя, кукисов и т.д. Чтобы еще больше оградить себя от возможных проблем, рекомендуется преобразовывать все типы данных в их эквивалент на платформе .NET Framework. Теперь о выводе информации. Его нужно кодировать в обязательном порядке! Только в этом случае вредоносная вставка будет обрабатываться браузером как обычная текстовая информация, а не как исполняемый код. Функция HtmlEncode заменяет различные HTML-символы их аналогами. Символ «<» замещается последовательностью «<», а «"» — «"». Подобное кодирование не даст браузеру выполнить инжектированный код и существенно осложнит жизнь хакера.

Более подробно о безопасности ASP.NET-скриптов рекомендую прочитать в MSDN: http://msdn2.microsoft.com/en-us/library/ms998274.aspx.

Q: Существует ли способ удаленно определить, какой веб-демон используется на сервере?

A: Да. Есть как минимум несколько утилит, которые умеют определять тип демона по его сигнатурам (прием fingerprint). Наиболее успешной считается httprint (http://net-square.com/httprint), которой удается правильно определять веб-демон, даже несмотря на измененную строку приветствия или вообще использование на сервере специальных маскирующих плагинов типа mod_security и servermask. С учетом небывалого распространения веб-интерфейса для управления всевозможными девайсами, httprint идеально подходит еще и для поиска точек доступа, роутеров, ADSL-модемов и т.д. Причем работает прога как под никсами, так и под виндой, что не может не радовать.

Q: Каким образом можно сохранить на диск потоковое видео, расположенное на серверах типа youtube.com, video.google.com и т.д.?

A: В основе этих сервисов лежит технология Flash Video (flv), позволяющая получить хорошее качество записи при небольшом объеме передаваемых данных. Видео передается на компьютер пользователя в потоковом режиме и после буферизации отображается в окне браузера. Стандартными средствами это видео на жесткий диск, к сожалению, не сохранить, поэтому придется взять на вооружение несколько дополнительных инструментов. Если в качестве браузера ты используешь Firefox, разумнее всего установить специальное расширение — VideoDownloader (https://addons.mozilla.org/firefox/2390). После установки в нижней части браузера появится специальная иконка. Теперь всякий раз, когда ты захочешь сохранить просматриваемое видео на диск, достаточно кликнуть на этот индикатор и указать место для сохранения. Помимо удобства использования, ты получаешь возможность скачивать видео не только с популярного YouTube, но и еще с 60 аналогичных видеохранилищ. В этих же целях можно заюзать и самое обычное приложение (www.youtube-download.com), но это не очень удобно. Значительно удобнее использовать специальный онлайн-сервис YouTube Downloader (video.qooqle.jp/dl). Работа с ним очень проста: от тебя требуется только скопировать ссылку на ролик с YouTube и вставить ее в одно единственное поле формы. Сервер, немного подумав, выдаст тебе линк на скачку.

Следующий возможный вопрос: а что делать с этим самым flv, ведь обычные проигрыватели его не поддерживают? Ну, во-первых, его можно посмотреть с помощью специальных плееров: FLV Player (www.martijndevisser.com/blog/article/flv-player-updated) и VLC Player (www.videolan.org/vlc). Или же, если ты собираешься передать его друзьям, можешь преобразовать его в самый обычный формат, заюзав конвертеры MediaCoder (http://mediacoder.sourceforge.net) и Riva FLV Encoder (www.rivavx.com).

Q: Здравствуйте! Мне нужна помощь! Я хочу поставить себе антивирус, но не знаю, какой лучше! Мне посоветовали NOD32 и Антивирус Касперского! Подскажите, могут ли они работать вместе? И какой из них эффективнее? Или можно установить оба, а использовать по отдельности?

A: К сожалению, придется сделать выбор: или NOD32, или Антивирус Касперского, или вообще что-то другое. Так уж получилось, что антивирусные пакеты редко уживаются друг с другом. Это понятно: используются одни и те же механизмы, перехваты системных функций, а в систему зачастую подгружаются низкоуровневые драйверы, которые могут конфликтовать между собой. Чтобы избежать накладок, еще во время установки большинство антивирусов требует удалить из системы все антивирусные пакеты. Но выход есть! Правда, только в том случае, если планируется использовать не активный монитор, а именно сканер. Так, малоизвестная программа F-PROT (www.f-prot.com) задействует в работе не только свои собственные базы вирусов, но и базы других популярных антивирусных продуктов — получается несколько антивирусников в одном флаконе. До последнего момента распространялась ее бесплатная демка, в которой нельзя было задать лишь пути для сканирования (она сканировала все сразу!), при этом небольшая насадка-фильтр решала проблему. Но вот теперь разработчики одумались и демку убрали, поэтому придется немного поморочиться в поиске рабочего варианта. Но оно того стоит!

Q: А-а-а-а, помогите с Linux! У меня не загружается система/слетел загрузчик/забылся пароль от рута! Что делать? Ставить все заново?

A: Согласен. Существует масса проблем c Linux, единственным решением которых кажется полная переустановка системы. На самом деле, это не так. Для начала нужно успокоиться и поискать на нашем диске какой-нибудь LiveCD. С его помощью в 90% случаев можно восстановить засбоивший загрузчик (lilo и grub), устранить проблемы с загрузкой X’ов, сбросить пароль рута и решить множество других проблем. Более того, в состав некоторых дистрибутивов входят специальный rescue-образы, на борту которых находятся уже готовые решения для восстановления работоспособности системы. Так что не паниковать!

Q: На День рождения друзья сделали отличный подарок: крутой КПК Pocket PC со встроенным GPS-приемником. Теперь вот кручу его и думаю, как можно было бы воспользоваться всеми его возможностями. Подскажи, пожалуйста, софт и карты для GPS — давно вас читаю, но об это еще вроде не писали!

A: Идеального решения, как это обычно бывает, нет. Все зависит от того, где будет использоваться навигационная система. Сейчас ты поймешь почему.

Pocket GPS Pro (www.pocketgps.ru/products/pocketgpspro.shtml) — система для PocketPC с подробной и, пожалуй, наиболее удачной картой Москвы и области. Но, как понимаешь, за пределами Московской области она становится абсолютно бесполезной, и это ее главный минус. Зато Pocket GPS Pro обладает удобным интерфейсом и даже умеет загружать информацию о пробках с сайта SmiLink (www.smilink.ru/?s=maptraffic).

GIS Russia (http://gisrussa.ru/russa.php). Поскольку разработчики навигационных систем тратиться на создание карт для нашей необъятной Родины пока не спешат, многие умельцы пытаются сделать их самостоятельно. И к чему, ты думаешь, их прикручивают? Правильно, к GIS Russia. Собственно, эта программа хорошо известна россиянам именно за счет большого количества самодельных карт. Одна лишь проблема: подобные карты выполнены недостаточно точно и далеко не всегда профессионально. Впрочем, это все равно лучше, чем вообще ничего, если живешь в глубинке или собираешься туда поехать.

TomTom (http://tomtom.com) - наиболее авторитетная система во всем мире, которую лично я бы обязательно взял в поездку в Европу или Штаты. Совсем недавно ТомТом разработал карты для России (для начала для Москвы и Питера), причем это делалось не простой перегонкой карт в вектор, а отрисовкой на реальной местности. Разработчики сами проезжают те дороги, которые наносят на карты, чтобы они были более точными и актуальными. А это уже о многом говорит!

iGO (www.i-go.com/ru) – это система, которая хорошо зарекомендовала себя во всей Европе, в том числе и в нашей стране. Версия «iGO Россия 2006» включает в себя карты крупнейших городов с точностью до улиц и 19000 важных точек. Единственный минус — программа поставляется только на SD-носителях, что в некоторых случаях может быть неудобно или же вообще неуместно.

OZIExplorer (www.rus-roads.ru/gps/oziexplorer.htm) - забавная утилита, позволяющая привязать координаты от GPS-приемника абсолютно к любой карте, даже отсканированной. С ее помощью можно выкачать фотографии нужной местности с сервиса Google Earth (earth.google.com) и наблюдать за своими перемещениями по снимкам со спутника. Интересная штука, правда?

Содержание