Привет всем!!! Сегодня я решил написать вам текст про 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
Мдя MySQL поддерживает этот способ комментирования принятый в ANSI SQL только в том случае, если после -- идёт пробел, которого у тебя нет. Должно выглядеть так Code: INSERT INTO Users VALUES ('Gil', '12345', 'Admin');--[color=yellowgreen]_[/color]', 'User'); Где _ - пробел Да и вообще -- мало кто использует, его работоспособность очень мала. хня какая-то, какие палочки? Двойное тире называется. Всё оно будет читаться, просто при нахождении в строке -- будет удаляться до конца строки всё что за --. Мне статья не понравилась
гм.. написано прям для американцев объяснена только команда insert а чего update нет? А OUTER JOINER ? я хочу статью про связку таблиц!))
Тьфу, опять время потерял.... RE:"но они не описали такой вопрос как : хакеры получают доступ к админке форума.Поэтому я решил написать эту статью чтоб вы поняли что может произойти с вашими форумами" - ты решил написать, как получив логин и пасс админа, ввести его в формочку авторизации на форуме? P>S>Минус тебе, за то что наживаешь плюсы на новичках. P>S>S>Хватит писать, одно и то же, если реально думаете что соображаете в sql-injection, то почему бы не изучить более глубоко тему...Наглядный пример, говорят что инъекция в MSSQL - примитивна, но почему то никто ничего путнего не отпостил в http://forum.antichat.ru/thread20157.html
Dr.Check я рад что моя статья тебе по душе. Rebz если ты так сильно хочеш узнать про update тогда тебе сюда: http://forum.antichat.ru/thread19696.html
Ты сказал что ты расскажешь что то новое, а где оно это новое можно узнать!? Оъяснишь, соглашусь, тогда от меня репа!!!
Да его статья интересная. А вот твоя нет... Вообще, прежде чем писать такие статьи надо поглубже изучить материл и ознакомиться с тем, что об этом писали до тебя.. Зачем писать об скуль-инъекциях в форумах, если они ничем не отличаются от sql-inj в любом другом веб-приложении?