ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

SQL Injection в форумах
  #1  
Старый 10.06.2006, 17:11
Аватар для Dracula4ever
Dracula4ever
Постоянный
Регистрация: 08.05.2006
Сообщений: 559
Провел на форуме:
1593567

Репутация: 354


Отправить сообщение для Dracula4ever с помощью ICQ Отправить сообщение для Dracula4ever с помощью AIM Отправить сообщение для Dracula4ever с помощью Yahoo
Post SQL Injection в форумах

Привет всем!!!
Сегодня я решил написать вам текст про SQL Injection.Вы навернека спрашивайте самих себя зачем,тут разве не хватает чего-то,разве тут нет достаточно умных людей что мы не можем доверять их статьям?
Так я вам хочу сказать что есть много умных людей которые вас в свойх статьях научили всему что надо знать новичкам про SQL Injection,но они не описали
такой вопрос как : хакеры получают доступ к админке форума.Поэтому я решил написать эту статью чтоб вы поняли что может произойти с вашими форумами (если вы их не охраняете).



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

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

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


Цитата:
SELECT FirstName FROM Students WHERE Grade = 90;

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

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

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



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


Цитата:
INSERT INTO Users VALUES ('[User]', '[Password]', 'User');

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


Цитата:
INSERT INTO Users VALUES ('Dracula4ever', 'antichat', 'User');

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


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


Цитата:
INSERT INTO Users VALUES ('[User]', '[Password]', 'User');

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


Цитата:
INSERT INTO Users VALUES ('Gil', '12345', 'Admin');-- ', 'User');

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


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

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


Цитата:
SELECT UserName FROM Users WHERE (UserName = '[User]') and (Password = '[Password]');

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


Цитата:
SELECT UserName FROM Users WHERE (UserName = 'Dracula4ever') and (Password = 'antichat');

Теперь давайте посмотрим что хакеры могут сделать в таком случае.
Допустим что ник администратора 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

Последний раз редактировалось dracula4ever; 10.06.2006 в 19:53..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection для чайников, взлом ASP+MSSQL k00p3r Чужие Статьи 0 12.06.2005 12:42
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ