HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра

различные результат на *group+by* и *union+select*
  #1  
Старый 28.07.2008, 16:15
mr.celt
Участник форума
Регистрация: 06.02.2008
Сообщений: 110
Провел на форуме:
217423

Репутация: 32
По умолчанию различные результат на *group+by* и *union+select*

Вот блин штука какая. На одном из сайтов нашел стандартную sql-инъекцию.
Запрос типа site.com/?nr=1' выдает ошибку "mysql_fetch_array()....". Скуль на лицо, с помощью запроса site.com/?nr=1+group+by+5/* появляется ошибка, стало быть кол-во столбцов 4 (при site.com/?nr=1+group+by+4/* - ошибки нет), значит должен быть верен запрос типа site.com/?nr=1+union+select+1,2,3,4/* ну или хотя бы site.com/?nr=1+union+select+null,null,null,null/*.
Как не вертел, данные запросы вес равно выдают ошибку(
При использовании order+by так же нет ошибок.
В чем может быть проблема. Я предполагаю, что скрипт фильтрует в запросе второй select и так реагирует.
 

  #2  
Старый 28.07.2008, 16:21
Shao Kan
Banned
Регистрация: 27.07.2008
Сообщений: 19
Провел на форуме:
65591

Репутация: 6
По умолчанию

юзай sql injection tool 4
 

  #3  
Старый 28.07.2008, 16:23
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

1. Ты подставляешь юнион к существующему значению, а надо к несуществующему (...1+and+1=2+union+...).
2. Возможно там несколько запросов (в таком случае посимвольный брут).
3. Версия мускула = 3 (+and+substring(version(),1,1)=3 - это что бы проверить) и следовательно подзапросы не поддерживаются.

Читай статью:
https://forum.antichat.ru/threadnav43966-1-10.html
 

  #4  
Старый 28.07.2008, 16:24
spider-intruder
Постоянный
Регистрация: 10.12.2005
Сообщений: 939
Провел на форуме:
3886281

Репутация: 929


Отправить сообщение для spider-intruder с помощью ICQ
По умолчанию

м.б. там просто 3 версия секеля и нет юниона ;-)?
 

  #5  
Старый 28.07.2008, 17:30
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию

Если четвёртая версия это ещё не означает поддержку подзапросов.Вот какая точная версия,с которой начинается поддержка подзапросов - не помню...).Про третью вообще молчу))
 

  #6  
Старый 28.07.2008, 18:09
n1†R0x
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме:
2924346

Репутация: 1719


Отправить сообщение для n1†R0x с помощью ICQ
По умолчанию

Цитата:
Сообщение от Велемир  
Если четвёртая версия это ещё не означает поддержку подзапросов.Вот какая точная версия,с которой начинается поддержка подзапросов - не помню...).Про третью вообще молчу))
Подзапросы поддерживаются MySQL >4.1
Правда, тут о них речи не было, UNION не является частью подзапроса.
Подзапрос имеется, скажем, в этом примере:
Код:
SELECT 1,2,(SELECT `passwd` FROM `users` limit 0,1) from mysql.user;
или
Код:
SELECT `password` FROM `users` WHERE `id` = (SELECT `user_id` FROM `comments` limit 155,1);

Последний раз редактировалось n1†R0x; 28.07.2008 в 18:13..
 

  #7  
Старый 28.07.2008, 19:22
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию

Цитата:
Сообщение от n1†R0x  
Подзапросы поддерживаются MySQL >4.1
Правда, тут о них речи не было, UNION не является частью подзапроса.
Подзапрос имеется, скажем, в этом примере:
Код:
SELECT 1,2,(SELECT `passwd` FROM `users` limit 0,1) from mysql.user;
или
Код:
SELECT `password` FROM `users` WHERE `id` = (SELECT `user_id` FROM `comments` limit 155,1);

Хыхы))А мне всегда почему-то казалось, что подзапрос -

это выражения вида 1+and+substring(version(),1,1)=5;

или 1+and+1=5+union+select; Выполнится второй

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

Уф...
 

  #8  
Старый 28.07.2008, 19:56
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Цитата:
Сообщение от Велемир  
Хыхы))А мне всегда почему-то казалось, что подзапрос -

это выражения вида 1+and+substring(version(),1,1)=5;
Это не подзапрос, а использование логического опретора and.

В запросе получается что то вроде этого:

select title from page where page_id=[sql inj]
Смысл запроса вывести заголовок указанной страницы.

Сюда ты и подставляешь данные:

select title from page where page_id=1 and substring(version(),1,1)=5
Смысл вывести заголовок указанной страницы и первый символ версии БД должен быть равен 5.
Т.е. запрос выполнится успешно если верси БД равна 5.

substring() и version() это функции.
В данном примере ты используешь логический опрератор and и две функции, а подзапросы не используешь.

Ограничиваясь такими логическими посимвольными учтонениями запроса, используя только функции и не используя подзапросы максимум что ты можешь сделать это вывести содержимое файла (и то если пользователь БД обладает соотвествующими правами) - подробнее тут => Работа с MySQL третьей версии...

Цитата:
Сообщение от Велемир  
или 1+and+1=5+union+select; Выполнится второй

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

Уф...
union - это опретор объединяющий два запроса:

select title from page where page_id=1 and substring(version(),1,1)=5 union select 1
В данном случае если версия БД не равна 5, то выведется еденица.

Подробнее тут => SQL injection полный FAQ

Подзапросы используются для работы со слепыми инъекциями:

select title from page where page_id=1 and (select 1 from user limit 0,1)=1

Подробнее про слепые инъекции тут => SQL инъекция FAQ (в т.ч. и blind SQL)

P.S. а вообще очень советую купить справочник/учебник по синтаксису sql.

Последний раз редактировалось Grey; 28.07.2008 в 20:06..
 

  #9  
Старый 28.07.2008, 19:41
Bonnie and Clyde
Новичок
Регистрация: 26.07.2008
Сообщений: 20
Провел на форуме:
154110

Репутация: 14
По умолчанию

попробуй site.com/?nr=-9999+union+select+1,2,3,4/* несуществующее значание
 

  #10  
Старый 29.07.2008, 17:33
mr.celt
Участник форума
Регистрация: 06.02.2008
Сообщений: 110
Провел на форуме:
217423

Репутация: 32
По умолчанию

Цитата:
Сообщение от Bonnie and Clyde  
попробуй site.com/?nr=-9999+union+select+1,2,3,4/* несуществующее значание
попробовал, также не подходит)
Но немного пораздумав и почитав, что Grey написал, попробовал логические запросы с and.

Как и ожидалось версия оказалась 3.х и соответственно union не поддерживаются С помощью перлового скрипта перебрал user(), version(), database().
Запрос, типа site.com/?nr=1+and+ascii(substring((select+password+from+my sql.user),1,1))>1/*
тоже не проканал, то ли это расценено как подзапрос, то ли доступа к mysql.user закрыт.

Статья Grey о том как сливать файлы в 3-й версии, если есть доступ, наталкнула на такой запрос
http://site.com/?nr=1&n=1+and+ascii(substring((LOAD_FILE(0x2f77777 72f777777382f757a2f64656661756c742e68746d)),100,1) )>1/*

При его подачи ошибок нет, но и добиться, чтобы условие выполнилось, тоже не смог (захексин путь до файла, который выводится при ошибочной квери)
 
Закрытая тема



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различные версии ольки s0lar Реверсинг 6 22.03.2008 09:57
Post результат формы в новом окне Student :) PHP 6 13.01.2008 20:42
Пророчества Ванги сбываются одно за другим _Sniper_ Болталка 24 21.12.2007 15:52



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


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




ANTICHAT.XYZ