|
|
|
В далеком 2004 году, мне посчастливилось закончить ГТУ с красным дипломом по специальности Информационные технологии и программирование. После чего я даже честно отработал один год программистом 1С, но желание зарабатывать "хорошие деньги" меня плавно перетянуло в бизнес, где компьютер доводилось использовать только косвенно.
Пять лет я вел успешный бизнес, который специализировался на заготовке, переработке и реализации лома черных металлов. Кто в курсе знает, что доходы в этом бизнесе не просто реальные, а даже скорее нереальные для среднестатистических Россиян.
Но все ресурсы рано или поздно заканчиваются и металл в этом контексте не является исключением. Нет он не закончился совсем, просто его добыча с каждым днем начинала усложняться, и если честно уже немного надоедать.
Тем более, в душе являясь странником, т. е. человеком который постоянно прибывает в поиске чего-то нового, после долгих раздумий и заманчивого предложения от одного из партнеров, я решил слить свою долю бизнеса и вновь отправиться на поиски приключений.
В общем целый год я наслаждался беззаботной жизнью и даже обзавелся супругой. Но все хорошее (включая деньги) рано или поздно заканчивается, и мне пришлось трудоустроится в одну сервисную компанию по продаже и обслуживанию офисной техники, а так же распространению лицензионного программного обеспечения на базе ОС Linux.
Передо мной, как руководителем технического отдела стояла задача разработки и создания корпоративного сайта компании в которой я работал.
Имея за плечами небольшой опыт программирования, я проанализировал предложения, которые предлагал рынок сайтостроения в нашем городе, и принял решение реализовать создание сайта самостоятельно.
Параллельно с этим я начал делать свой первый сайт на PHP, для того, чтобы вспомнить основы веб программирования и тестировать некоторые скрипты будущего сайта компании.
Одним из скриптов на моем сайте был каталог продукции, и на то время я еще не очень хорошо разбирался в основах IT безопасности, и безопасного веб программирования в частности.
И вот в один прекрасный день я обнаружил, что мой сайт для тестирования PHP скриптов не доступен. Первым делом я пропинговал домен, но получил радужные результаты.
Тогда для получения ответа от веб сервера я запустил в консоли Linux утилиту
Цитата: |
[kroot@myhost ~]# w3m -dump_head мой_сайт
|
и получил ответ:
Цитата: |
w3m: Can't load нес_частный_сайт
|
Естественно я сразу подключился по ftp и начал анализировать логи сервера. В которых увидел следующую картину:
Цитата: |
"POST /?-dsafe_mode%3DOff+-ddisable_functions%3DNULL+-dallow_url_fopen%3DOn+-dallow_url_include%3DOn+-dregister_globals%3DOn+-dauto_prepend_file%3Dphp://input HTTP/1.0" 200
|
В результате одной уязвимости на веб сервере, а именно подключения PHP, как CGI на мой первый сайт был залит шелл, но и это еще не все.
Для эксплуатации этой уязвимости существуют автоматизированные решения, которые требуют от пользователя (всего то навсего) последовательного ввода нескольких команд, в результате чего на сайт заливается шелл, а в файл .htaccess пишутся инструкции закрывающие доступ к сайту для всех остальных.
К этому решению я пришел не сразу, а лишь на следующий день, после того, как заблокировал некоторые, как мне тогда казалось уязвимые скрипты, а шелл на сайте появился снова, да и ip адрес принадлежал уже совершенно другому региону.
Совершенно случайно я наткнулся на одну статью о этом серверном баге, который с помощью параметра -d позволял заливать через url php документы в локальную папку сайта на сервере, а с помощью параметра -s просто просматривать исходный код php скриптов.
Для этого достаточно было в конец урла добавить параметр сайт/-s.
Проведя небольшой тест на остальных веб ресурсах, которые находятся на одном ip адресе с моим сайтом, я был просто шокирован, когда видел в файлах конфигурации логины и пароли для подключения к БД и прочее.
Естественно я тут же отправил письмо в техническую поддержку хостинговой компании, но видимо для них это тоже была шокирующая новость к которой они были не готовы. Ведь для устранения бага требовалось полностью изменить конфигурацию веб сервера, а именно отменить mod_cgi для запуска PHP, но вся загвоздка заключалась в том, что это был бесплатный хостинг, который в целях собственной безопасности (возможно) и подключал PHP через mod_cgi.
На тот момент я мог просто удалить папку со скриптами сайта. Ведь по большому счету меня ничего не удерживало на том сервере, но мне почему-то не захотелось сдаваться без боя, и я отправился на поиски альтернативных методов закрытия уязвимости.
Мне удалось закрыть уязвимость локально с помощью файла .htaccess, добавив в него инструкции:
Цитата: |
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [R]
|
После этого адресная строка браузера начала корректно обрабатываться веб сервером, но только правда по отношению к моему сайту, все остальные "соседи" по серверу оставались по прежнему уязвимы.
Где-то через неделю, я даже получил письмо от одного хацкера, который очень удивленно просил меня ввести его в курс дела, но к его сожалению безрезультатно.
Спустя некоторое время, я закончил тестирование и создал свой первый, нормальный (по моим меркам на тот момент) корпоративный сайт. После чего начал осваивать основы SEO продвижения, и даже вывел его в региональный ТОП.
Это событие стало отправной точкой, для последующего изучения основ информационной безопасности, которые мне и по сей день реально интересны.
Сейчас я работаю уже совершенно в другой компании, которая находится в другом городе, и опять начинаю задумываться о создании собственного бизнеса, но только правда на этот раз уже на информационном поприще. |
|
|
|
|
|
Цитата: |
я проанализировал предложения, которые предлагал рынок сайтостроения в нашем городе, и принял решение реализовать создание сайта самостоятельно.
|
Обычно так и бывает. Смотрю на предложения разработчиков и удивляюсь, кто будет заказывать сайт за 30К? Я тоже самое могу за неделю на коленке сварганить. |
|
|
|
|
|
Такие истории удивляют началом.
В большинстве случаев программист делает сайт и потом интересуется сео, а наоборот бывает? сначала сео - потом программирование? |
|
|
|
|
|
Цитата: |
сначала сео - потом программирование?
|
Почему нет? На форуме видела много тем от вебмастеров, которые начали осваивать программирование. Хороших исполнителей найти сложно, а лучше самого себя работу никто не сделает. |
|
|
|
|
|
Было бы интересно услышать продолжение о том, что происходило дальше. |
|
|
|
|
|
fresh_meat писал(а): |
В большинстве случаев программист делает сайт и потом интересуется сео, а наоборот бывает? сначала сео - потом программирование?
|
Многие так и начинают. Сначала создают сайт на какой-нибудь CMS, начинают осваивать СЕО и рано или поздно приходят к осознанию того, что для полноценной внутренней оптимизации все таки необходимо залезть в код.
Ализандр писал(а): |
Было бы интересно услышать продолжение о том, что происходило дальше.
|
На мое удивление после заплатки в htaccess сайт больше не взламывали, даже не смотря на то, что уязвимость на том сервере существует и по сей день. Видимо хостеры живут по принципу: Как есть. |
|
|
|
|
|
Гы...Вспомнил свой первый сайт, который долго и нудно писал в блокноте, а потом выложил на народ.ру. Счастья были полные трусы...Хотя уже тогда были всякие конструкторы и движки...Но именно блокнот дал мн толчек в развитии - если бы не он, я бы навреное хтмл так и не знал. Помню, как 3 дня тупил, как созранить документ в блокноте в формате .html ))) |
|
|
|
|
|
Цитата: |
Пять лет я вел успешный бизнес, который специализировался на заготовке, переработке и реализации лома черных металлов. Кто в курсе знает, что доходы в этом бизнесе не просто реальные, а даже скорее нереальные для среднестатистических Россиян.
|
Я тоже помню, как мы с братом собирали бутылки в начале расцвета капитализма! |
|
|
|
|
|
ГТУ с красным дипломом
один год программистом 1С
Чтобы написать вот такой сайт?
Чему ж щас там учат? |
|
|
|
|
|
mihai писал(а): |
Чему ж щас там учат?
|
Трудно сказать, я давно там не был. |
|
|
|
|
|
|
|