SQL Injection в форумах

Discussion in 'Статьи' started by Dracula4ever, 10 Jun 2006.

  1. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Привет всем!!!
    Сегодня я решил написать вам текст про SQL Injection.Вы навернека спрашивайте самих себя зачем,тут разве не хватает чего-то,разве тут нет достаточно умных людей что мы не можем доверять их статьям?
    Так я вам хочу сказать что есть много умных людей которые вас в свойх статьях научили всему что надо знать новичкам про SQL Injection,но они не описали
    такой вопрос как : хакеры получают доступ к админке форума.Поэтому я решил написать эту статью чтоб вы поняли что может произойти с вашими форумами (если вы их не охраняете).



    Я начну с того как форумы работают . Для этого я вам обьясню про язык SQL.
    SQL (Strucured query language) это язык ,ориентированный специально на реляционные базы данных.
    Теперь давайте я вам покажу несколько команд в языке SQL.
    Допустим, у нас есть вот такая база данных:

    http://img96.imageshack.us/img96/7910/db17py.png

    И мы хотим знать имена учеников, которые получили больше 90 на экзамене, мы напишим этот код:



    У нас должен получиться такой ответ:

    http://img98.imageshack.us/img98/3775/db25ly.png

    Команда SELECT просто инструктирует базу данных ,чтобы извлечь информацию из таблицы.
    Команда FROM говорит что надо извлечь из...
    Команда WHERE говорит что извлечётся из...



    Ладно, теперь когда я вам показал главное в SQL давайте посмотрим как выгледят команды SQL в форумах.
    SQL код в форумах в которые мы хотим записаться выгледит так:



    Допустим я хочу записаться на форум и я на него записался ,с ником Dracula4ever и паролем antichat. Тогда SQL код который находится в форуме в который мы записываемся выгледит так:



    INSERT это название команды котороя говорит ,что мы должны вставить что-то ,новое в таблицу.
    INTO Users это значит в таблицу базы данных Users (там где хранится вся информация про участников форума. Например их ник и пароль).
    User это озночает что каким бы мы ником не записались на форум мы будем обыкномеными пользователями.


    Теперь давайте посмотрим что хакеры могут сделать в таком случае.
    Допустим злой хакер с ником Hacker с паролям 12345 хочет записаться на форум и получить админство (стать главным директором форума).
    Для того чтобы получить админство на форуме хакеры могут сделать вот так:
    Свой ник сделать Hacker , а пароль 12345','Admin');-- .
    Что это ему (тому кто хочет взломать) даст?
    Давайте рассмотрим как выгледит SQL код в форуме на который он хочет записаться:



    Когда он вставляет SQL код в форум , это выгледит так:



    Давайте рассмотрим что это ему даст.
    Все что вы видите кроме того, что закрашено красным цветом, это обыкновенный код который я вам уже обьяснил.
    Но вот есть хорошый вопрос : что значит -- ?
    Этот код значит, что все что написано после этих палочек , не будет считаться базой данных.
    То есть Admin поменяется местами с User и у взломщика будет возможность стать администратором форума!


    Теперь давайте посмотрим возможность входа в систему SQL Injection.

    SQL код который находится в форуме в который мы хотим войти в систему выгледит так:



    Если я хочу войти в систему с ником Dracula4ever и паролем antichat , то SQL выгледит так:



    Теперь давайте посмотрим что хакеры могут сделать в таком случае.
    Допустим что ник администратора Admin (пароль нам не известен).
    Хакер может просто написать в логине Admin'); -- и все! (пароль не надо писать).
    Давайте рассмотрим что это ему даст.
    -- код значит что все что написано после этих палочек (даже пароль) не будет читаться базой данных.


    Также хакеры могут просто вставить какой он хотят ник а пароль сделать blabla' or 'a'='a .
    В таком случае у хакера получаютя следущий услрвия:
    либо password='blabla' либо 'a'='a ' ,но a всегда равна сама себе.
    Взломщик также может попробовать другие варианты если у него не получиться получить доступ к системе.
    Например:
    blabla" or "a"="a
    blabla" or 1=1 --
    blabla' or 1=1 --
    blabla' or 'x'='x'

    И так ещё много других вариантов.





    Ладно я надеюсь что вам понравилась моя статья.
    Если есть вопрось пишите мне.



    Dracula4ever
     
    #1 Dracula4ever, 10 Jun 2006
    Last edited: 10 Jun 2006
    7 people like this.
  2. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    Мдя MySQL поддерживает этот способ комментирования принятый в ANSI SQL только в том случае, если после -- идёт пробел, которого у тебя нет.
    Должно выглядеть так
    Code:
    INSERT INTO Users VALUES ('Gil', '12345', 'Admin');--[color=yellowgreen]_[/color]', 'User');
    Где _ - пробел

    Да и вообще -- мало кто использует, его работоспособность очень мала.

    хня какая-то, какие палочки? Двойное тире называется. Всё оно будет читаться, просто при нахождении в строке -- будет удаляться до конца строки всё что за --.

    Мне статья не понравилась
     
    _________________________
    #2 NaX[no]rT, 10 Jun 2006
    Last edited: 10 Jun 2006
    1 person likes this.
  3. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Исправил
     
  4. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90


    не***т зачёт. статья будет полезна новичкам, в частности мне, так как не особо знаком с этимя. плюс
     
    1 person likes this.
  5. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,534
    Reputations:
    1,128
    гм.. написано прям для американцев
    объяснена только команда insert
    а чего update нет?
    А OUTER JOINER ? я хочу статью про связку таблиц!))
     
  6. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    Тьфу, опять время потерял....
    RE:"но они не описали такой вопрос как : хакеры получают доступ к админке форума.Поэтому я решил написать эту статью чтоб вы поняли что может произойти с вашими форумами" - ты решил написать, как получив логин и пасс админа, ввести его в формочку авторизации на форуме?
    P>S>Минус тебе, за то что наживаешь плюсы на новичках.
    P>S>S>Хватит писать, одно и то же, если реально думаете что соображаете в sql-injection, то почему бы не изучить более глубоко тему...Наглядный пример, говорят что инъекция в MSSQL - примитивна, но почему то никто ничего путнего не отпостил в http://forum.antichat.ru/thread20157.html
     
  7. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Я рад что тебе она понравилась :D
     
    1 person likes this.
  8. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Dr.Check я рад что моя статья тебе по душе.
    Rebz если ты так сильно хочеш узнать про update тогда тебе сюда: http://forum.antichat.ru/thread19696.html
     
  9. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Можеш дать линк на его статью?
     
  10. Cold_Zer0

    Cold_Zer0 New Member

    Joined:
    8 Jun 2006
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0
    Ты сказал что ты расскажешь что то новое, а где оно это новое можно узнать!? Оъяснишь, соглашусь, тогда от меня репа!!!
     
  11. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    А что тебе рассказать?
     
  12. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    1 person likes this.
  13. Dracula4ever

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

    Joined:
    8 May 2006
    Messages:
    418
    Likes Received:
    183
    Reputations:
    26
    Интерестная статья.
    Тот кто её написал професионал в SQL Injection :) .
     
    1 person likes this.
  14. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    Да его статья интересная. А вот твоя нет...
    Вообще, прежде чем писать такие статьи надо поглубже изучить материл и ознакомиться с тем, что об этом писали до тебя.. Зачем писать об скуль-инъекциях в форумах, если они ничем не отличаются от sql-inj в любом другом веб-приложении?