Статьи Взлом баз данных Sql

Discussion in 'Статьи' started by Dracula4ever, 17 May 2006.

  1. Dracula4ever

    Dracula4ever Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    В последнее время базы данных стали очень популярными из-за их качеств и возможности хранения огромного количества данных. Благодаря возможности использовать БД в сети, многие веб-дизайнеры предоставляют доступ к БД непосредственно с сайта. Это делают для того, чтобы сделать доступ к имеющейся на сайте информации максимально удобным для рядового юзера. Но из-за недостаточной квалификации многих программистов, допускаются ошибки безопасности при создании скриптов, служащих для доступа к БД. Сейчас стало стандартом де-факто использовать базы данных SQL со скриптами Perl и PHP. И это действительно очень удобно, но также очень опасно. Не будем забывать, что большинство дефейсов делается благодаря дырам в скриптах. В этой статье я опишу САМЫЕ частые оплошности кодеров в скриптах управления БД.

    Начнем

    Самая частая ошибка заключается в том, что названия таблицы берут из URL, что чаще всего встречается в форумах и бордах. Т.е. для обращения к форуму best с сайта blah-blah.gov используется строчка
    http://www.blah-blah.gov/base.pl?forum=best.
    Скорее всего, параметр forum будет заноситься в переменную $forum. Значит горе-кодер в своих скриптах прописал что-то типа:

    SELECT * FROM $forum;
    UPDATE $forum SET DATE = ‘09/08/02’

    Вроде бы всё хорошо, но вся изюминка в том, что названия таблицы обычно не проверяют на правильность. А это значит, что ничто не сможет нам помешать написать в URL’е строку такого содержания:
    http://www.blah-blah.gov/base.pl?forum=best;SELECT * FROM best; DROP TABLE best”. После чего запустится скрипт и выполнит следующий SQL-запрос:

    SELECT * FROM best;
    DROP TABLE best;

    Который сначала выводит все содержимое таблицы best, а потом удаляет её. Этот запрос, конечно, пройдёт только тогда, когда у пользователя достаточно прав, для того, чтобы удалить таблицу. Но админов, которые дают такие права пользователям, в Internet’е навалом, сам проверял=].

    Теперь ты можешь без особого напряга удалить какую-нибудь базу. Но этого как правило мало. Мы же не вандалы. Допустим на нашем сайте www.blah-blah.gov для того, чтобы использовать форум надо сначала зарегистрироваться. Не вопрос. Идём на страницу регистрации. Как правило, для пользователей тоже создают базу и запрос, который вставляет нового юзера выглядит так:

    INSERT INTO userbase
    Values (firstname=’$fname’, lastname=’$lname’, age=$age);

    Как ты уже понял, описанный выше способ применим и для других параметров, передаваемых в URL. А теперь представь, что мы знаем, что в этой таблице есть также поле xlev, значение которого принимает два значения, либо user либо superuser. Как несложно догадаться, если ты superuser, то можешь делать с форумом, что захочешь. Но проблема в том, что если это поле пустует, то пользователь считается простым user”ом. Не порядок. Если повнимательнее рассмотреть данный запрос можно увидеть параметр $age, стоящий без кавычек. Как правило, числовые данные не проверяют на действительность, и туда можно записать что угодно. Этим мы и воспользуемся. Вводим всё как надо, а в строке age пишем:25,xlev=’superuser’. Вот ты и бог=]. Как видишь, ничего сверх сложного здесь нет. Надо только подумать чуть-чуть.

    DEFAULT

    А теперь самое главное. Можно искать сайты с тупыми скриптами, передающими параметры в URL’е, а можно сделать умнее=]. Я уверен, что ты уже знаешь, что многие админы, особенно начинающие, ставят всё по дефолту. К них ещё нет опыта, и не знают, что это не есть гуд. Хочу заметить, что этим грешат также и матёрые сисопы. Так вот. Многие либо оставляют логин и пароль SQL сервера по умолчанию, или меняют пароль на какой-нибудь типа 54321. Вот этим и надо прежде всего воспользоваться. В Microsoft SQL Server по умолчанию стоит юзер sa без пароля, а в MySQL, root также без пароля. MsSQL и MySQL сидят на портах 1433 и 3366 соответственно. Так что качай клиент и попробуй вломится на базу под стандартным юзером. Если тебе не повезло и пароль не подходит, то советую тебе скачать брутфорс, для удалённого перебора паролей SQL (найти его можно на нашем сайте в File ->> Password Crack).

    EXPLOITS

    Для взлома SQL серверов, существует много exploit’ов. Описывать их я не буду, т.к. чтобы описать хотя бы самые достойные из них понадобится много места и время, да к тому же я не считаю это нужным. На нашем сайте в архиве exploit’ов ты найдёшь исходники как для получения root’а, так и для удалённый DoS атак на SQL сервер. К тому же рассчитывая на то, что в последнее время в MsSQL нашли два десятка таких дыр, DoS на MsSQL становится более актуальным.

    Заключение

    Взлом БЗ SQL является одним самых результативных взломов на сегодняшний день. В базах данных можно найти всё, от списка пользователей сервера, до номеров кредитных карт. Выше я описал только самые основные методы взлома, но их вполне хватит, чтобы взломать примерно 30% БД в Internet’е, конечно, импровизируя в каждом отдельном случае.
    http://whacking.h1.ru/vzlomsql.htm
     
    #1 Dracula4ever, 17 May 2006
    Last edited: 17 May 2006
  2. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    я или слепой...или в статье действительно нет копирайтов?

    скоро за это репу надо будет понижать..
     
  3. LoFFi

    LoFFi Elder - Старейшина

    Joined:
    21 Feb 2006
    Messages:
    194
    Likes Received:
    90
    Reputations:
    85
    согласен...... Честно говоря статья ничем не отличается от всех других....
     
  4. SanyaX

    SanyaX .::Club Life::.

    Joined:
    28 Jan 2005
    Messages:
    936
    Likes Received:
    396
    Reputations:
    261
    Ты что толкьо проснулся. Уже давно убавляют репутацию.
     
  5. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    Автор копирайты укажи, будь добр. А статья для ознакомления с тем, что такое sql-inj подойдет в самый раз, не более.
     
  6. syntacsis

    syntacsis Elder - Старейшина

    Joined:
    14 Nov 2005
    Messages:
    78
    Likes Received:
    31
    Reputations:
    6
    Статья из разряда тех, что пишутся только ради гонорара (или репы )))). Практической пользы от нее даже новичкам не будет.
    И вообще. Она в феврале 2005 года была написана. Может тогда и была чем-то атуальна, не помню. Но сейчас она не нужна ни кому.
     
  7. Dracula4ever

    Dracula4ever Elder - Старейшина

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Зделал
     
  8. Li4inka

    Li4inka Banned

    Joined:
    14 May 2006
    Messages:
    7
    Likes Received:
    2
    Reputations:
    -6
    статья - говно, причем редкое
     
  9. *[poison]*

    *[poison]* Elder - Старейшина

    Joined:
    3 Apr 2006
    Messages:
    63
    Likes Received:
    31
    Reputations:
    3
    Статья конечно не очень, новичкам не больше, но за старания я бы + поставил.
     
  10. Desr0w

    Desr0w Banned

    Joined:
    1 Feb 2006
    Messages:
    370
    Likes Received:
    166
    Reputations:
    45
    Оформление страдает.
     
  11. Evolution

    Evolution Elder - Старейшина

    Joined:
    9 Sep 2005
    Messages:
    77
    Likes Received:
    16
    Reputations:
    1
    вроде как на 3306.. гм.. не помню точно=(.
    п.с. писать статью на примере домена *.gov - это извращенно =)
    п.с.
    название улыбнуло =)