IThack.ru
Главная Регистрация Статьи Файлы Форум Ссылки Новости Свежие прокси Поиск Сентябрь 09 2010 12:10:05
Навигация
Главная
Регистрация
Статьи
Файлы
Форум
Ссылки
Новости
Свежие прокси
Hackerz toolz
Цитатник
Обратная связь
Карта сайта
Поиск
Добавить новость
Добавить статью
Пригласить на сайт...
Последние статьи
Работа с функцией ma...
Создание и продвижен...
Windows VPS и сервера
Дефейс www.ougs.info
Некоторые секреты IP...
Популярные загрузки
Brutus-aet2 2061
ICQ MultiPassword Ch... 1873
V-ListMaker 1529
SAMInside.2.6.1.0.full 1438
Office Multi Documen... 1388
Наши друзья
Программирование и SEO
 
***Wellcome to IThack***

Хакер - не преступник. Взлом - для искусства. Смысл - в свободе.

Дефейс www.ougs.info
Intro

Цель этой статьи – показать аспекты осуществления дефейса на примере взлома сайта www.ougs.info. Основной акцент сделан на доступность. Я постараюсь подробно объяснить каким образом хакеры дефейсят сайты. Я уверен, что у новичков отпадут многие вопросы после прочтения моей статьи.

Одним дождливым вечером…

На этот сайт я попал случайно - как всегда что-то искал. Могу сказать, что с большинством сайтов, которые впоследствии становятся целью моих взломов, я сталкиваюсь случайно. Проект назывался Open University Geological Society – сокращено OUGS. Насколько я понял, это было геологическое общество, в состав которого в основном входили энтузиасты и студенты. Но это не важно, так как меня интересовал только сайт. Что касается дизайна, то он радовал глаз своей удачно подобранной гаммой и графикой. На главной странице была куча ссылок и панель поиска. Именно с нее я и начал проверять скрипты на уязвимости. Обычно администраторы допускают ошибки при обработке передаваемых пользователем данных, очень часто это случается с системами. Однако в моем случае все обрабатывалось корректно, так как поиск строки
<script>alert(document.cookie)</script>
не принес желаемых результатов . Это меня нисколько не огорчило, потому что в панели навигации находилось достаточно большое количество ссылок на потенциально уязвимые скрипты. Прежде чем перейти к поиску багов, я как всегда решил проверить наличие файла robots.txt. Открыв страницу http://ougs.info/robots.txt, как ни странно я увидел содержимое этого файла:

User-agent: *
Disallow: /_common/
Disallow: /_scripts/
Disallow: /admin/
Disallow: /Connections/
Disallow: /demo/
Disallow: /formmail/
Disallow: /logs/
Disallow: /zsearch/
Теперь расскажу, зачем он нужен и чем он может быть для нас полезен.

Роботы

В robots.txt хранится специальная информация для поисковиков, а именно названия файлов и папок, которые нельзя индексировать. Прежде чем производить поиск, любой поисковик проверяет наличие этого файла. Как ты уже догадался, он необходим, когда ты хочешь уберечь тот или иной файл от индексирования поисковыми роботами, тем самым сохраняя закрытые сведения. Более подробно узнать о robots.txt можно здесь - http://www.robotstxt.org/wc/robots.html.

Продолжаем

Практически все папки были закрыты для просмотра с помощью .htaccess, за исключением /admin и /demo. В первой директории, как нетрудно догадаться, находилась админка сайта, а во второй - демо-версия. Видимо сайт находился в стадии разработки и в этой папке хранились скрипты, которые еще не были завершены. Я решил открыть тестовую фото-галерею и увидел интересные картинки, каждая из которых представляла собой ссылку вида: http://www.ougs.info/photo_gallery/photo.php?id=9. Подставив кавычку после параметра, я увидел следующее сообщение, которое меня очень обрадовало:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Это означало, что в скрипте photo.php присутствовала банальная SQL-инъекция. Не забывая про найденную админку, я решил достать пароли к ней. Сперва подобрал количество столбцов между SELECT и WHERE (их оказалось 9), проверил, какие поля пригодны для вывода, затем попытался вывести системную информацию с помощью SQL-функций user(), version() и database(). Как оказалось, на сервере крутилась MySQL версии 5.0.26. Это также не могло меня не радовать, ведь именно в пятой версии имеется специальная системная база данных information_schema, в которой хранятся названия всех таблиц и столбцов.

Мучаем БД

Итак, чтобы узнать названия таблиц, мне нужно было вытащить инфу из information_schema.TABLES. Выполнив следующий запрос, я увидел название первой из них, а именно CHARACTER_SETS:

http://www.ougs.info/photo_galleryphoto.php?id=1+UNION+SELECT+1,2,3,4,5,6,
table_name,8,9+FROM+information_schema.TABLES+LIMIT+0+OFFSET+30/*

Она относится к самой information_schema, поэтому эта таблица меня не интересовала. Все, что мне было нужно – это подобрать правильное значение LIMIT, чтобы увидеть название таблицы, в которой находились логины и пароли админов. Пришлось немного помучиться – нужный мне LIMIT оказался равным 40. Как я и ожидал, название таблицы оказалось стандартным – user.

Не желая снова вытягивать информацию из information_schema, я попытался подобрать поля самостоятельно. Админы не оказались оригинальными и на этот раз: нужные мне поля назывались username и password. Выполнив следующий запрос, я увидел пароль админа, который, к моему удивлению, оказался незашифрованным:
http://www.ougs.info/photo_gallery/photo.php?id=-1+UNION+SELECT+1,2,3,4,5,6,username,password,9+FROM+user/*

Welcome, admin

Дорога в админку была открытой! Далее я успешно залогинился и увидел необыкновенно функциональную и отлично продуманную панель администрирования. По правде говоря, таких в своей жизни я еще не встречал. Следующая моя цель заключалась в загрузке PHP-шелла. Заметив раздел File Uploads, я на 100% был уверен, что это и есть верный путь, однако жестоко обломался, так как на сервер можно было загрузить файлы только с расширениями .doc и .pdf. Но через пару минут выход был найден. В разделе Three Photos была возможность загрузки картинок, и на этот раз расширения не проверялись. Успешно загрузив r57shell, я получил возможность для следующих действий на пути к дефейсу.

Inside the server

Открыв веб-шелл, я решил осмотреться на сервере. Моих прав хватало на просмотр корневой директории. Но мне нужны были лишь данные для подключения к БД, ведь моя интуиция подсказывала, что исходник хоум-паги берется из некой таблицы. Далее я отрыл один из скриптов и увидел следующую строку:
require_once('Connections/connOUGS.php');
Думаю, не стоит объяснять, что делает этот код. Затем я успешно прочитал содержимое скрипта connOUGS.php и получил то, что хотел:

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connOUGS = "localhost";
$database_connOUGS = "web25-ougs";
$username_connOUGS = "web25-ougs";
$password_connOUGS = "OUGSDB1";
$connOUGS = mysql_pconnect($hostname_connOUGS, $username_connOUGS, $password_connOUGS) or trigger_error(mysql_error(),E_USER_ERROR);
?>

Дело оставалось за малым – найти нужную таблицу. Далее я подрубился к локальной базе данных. Выполнив команду SHOW TABLES, я ознакомился со списком таблиц - одна из них называлась homepage. SQL-запрос SELECT * FROM homepage вернул ее содержимое. Структура таблицы была такой:
------------------------------------------------------------------------------------
|....id........|......branchcode......|.................content.........................|
------------------------------------------------------------------------------------
|.....1........|..............ouc.........|......<html>.[html-code]</html>......|
------------------------------------------------------------------------------------
|.....2........|..............ean.........|.....<html>.[html-code]</html>.......|
------------------------------------------------------------------------------------
|.....3........|..............tst...........|.....<html>.[html-code]</html>.......|
------------------------------------------------------------------------------------
Насколько я понял на сайте была особая система показа страниц, содержание каждой из которых зависело от параметра branchcode. По умолчанию индекс страницы грузился с параметром branchcode=ouc. Это значит, что мне нужно было составить специальный запрос для таблицы homepage, который заменял бы поле content с id=1. Ничего проще нет:
UPDATE homepage SET content = ‘DEFACE_CODE’ WHERE id=1
Я решил не создавать супер-пупер навороченный дефейс, а ограничился лишь парой строк с моими пожеланиями. Весь html я закодировал с помощью своей программы (она прикреплена к теме) в ascii-коды, чтобы при выполнении запроса не было ошибок, связанных с использованием кавычек. Итак, мой конечный запрос выглядел так:
UPDATE homepage SET content = CHAR(60,84,97,98,108,101,32,87,105,100,116,104,61,34,56,48,48,34,32,72,69,73,71,
72,84,32,61,32,34,56,48,48,34,32…) WHERE id=1

Последний штрих

Как я уже упоминал выше, сайт находился в стадии разработки. Открывая его в браузере без явного указания страницы, то есть http://ougs.info/, апач по дефолту грузил index.html, который редиректил всех пользователей на старый сайт – ougs.org. Это меня в корне не устраивало, поэтому я решил просто-напросто удалить эту несчастную страничку. Выполнив команду rm index.html, я добился того, чтобы http-демон грузил по умолчанию index.php. Оставалось лишь обновить таблицу homepage. Удар по энтеру и готово! Загрузив хоум-пагу, я увидел надпись DEFACED BY Raz0r. Далее все как обычно – сохранил индекс на винт, сделал скриншоты и отправил все это добро на hacked@void.ru.

The End

Ну вот и все. Надеюсь, ты открыл для себя что-то новое. Однако хочу тебя предупредить, что данные действия противозаконны! Даже не пытайся сделать что-нибудь подобное! Статья дана лишь в ознакомительных целях. Поэтому делай выводы и думай, прежде чем будешь дефейсить! На этом - прощаюсь. Удачи!

Источник: inattack.ru
Календарь IThack
  Пн.Вт.Ср.Чт.Пт.Сб.Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Virus SCAN
ONLINE Virus SCAN
Наша ссылка

Вы можете поддержать наш проект, разместив на своем сайте нашу кнопку!



Код кнопки:

<a href='http://forum.ithack.ru' target='_blank'> <img src='http://ithack.ru/images/buttons/Gray.gif' style='margin:5px;' align='left'></a>

Все кнопки

Реклама
продвижение сайтов в поисковых системах спасательный круг для малого.
Производство лопат снеговых. Производство и продажа лопат снеговых.
Dance Hall - занятия джаз модерном на ВДНХ

Copyright © 2008 - 2009 "IThack"
При полном или частичном копировании материалов сайта, ссылка на источник обязательна!
Внимание! Вся информация предоставлена исключительно в ознакомительных целях и несет собой тему к размышлению.
Помните, ответственность за ее использование в противозаконных целях полностью ложится на вас!
Все cracks к программам опубликованы на сайте исключительно для авторов программ, что бы указать им на уязвимости их продукта.
За использование cracks другими лицами администрация сайта ответственности не несет!