Форум Кумертау-City.ru: Хакерам города посвещается... - Форум Кумертау-City.ru

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Хакерам города посвещается... про SQL инъекцию... Оценка: -----

#1 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 03 марта 2006 - 15:29

Вот гулял как то по инету, наткнулся на одну CMS'ку, платную, крутая вся такая, дают возможность 30 дней ее потестить бесплатно, архив 5 метров весит с скриптами, скачал но на домашнем апаче своем не установил, там какой-то пхп оптимайзер нужен, сайт имеет кучу клиентов и все ссылки на их сайты есть. Самое интересное что через 5 минут обнаружил SQL инъекцию, вот тут мне и помог архив в 5 метров, которыя я слил, посмотрел где в БД хранятся админы, получил хеш (мд5) главного админа, больше 20-ти часов его брутил, надоел он мне.
А вот собственно и вопрос, пачиму с помощью UNION SELECT password FROM mysql.user WHERE user='user()' не хрена не магу выдернуть пароль доступа к БД, мож кто знает??? Моя цель щас просто в бд мд5 хеш админа на свой мд5 заменить.....
  • +
  • 0

#2 Пользователь офлайн   DIMONS 

  • Участник
  • PipPipPip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 127
  • Регистрация: 22 мая 05
  • Репутация: 1

Отправлено 03 марта 2006 - 16:26

Забудь про это
  • +
  • 0

#3 Пользователь офлайн   MonStrIc 

  • Участник
  • PipPipPip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 202
  • Регистрация: 26 ноября 03
  • Репутация: 0

Отправлено 03 марта 2006 - 19:43

leva (03 March 2006, 15:29) писал:

UNION SELECT password FROM mysql.user WHERE user='user()'


Не совсем понятно что ты пытаешься сделать этой командой.

напиши по подробней

user() - эт функция?
  • +
  • 0

#4 Пользователь офлайн   т_е_м_о_н 

  • Новичок
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 29
  • Регистрация: 04 марта 06
  • Репутация: -1

Отправлено 04 марта 2006 - 03:46

MonStrIc (03 March 2006, 20:43) писал:

Не совсем понятно что ты пытаешься сделать этой командой.

напиши по подробней

user() - эт функция?
Просмотр сообщения


если ни че не знаеш не пиши всякую хрень. лучше скачай хакер журналы и научись чегму нить
  • +
  • 0

#5 Пользователь офлайн   т_е_м_о_н 

  • Новичок
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 29
  • Регистрация: 04 марта 06
  • Репутация: -1

Отправлено 04 марта 2006 - 04:08

leva (03 March 2006, 16:29) писал:

Вот гулял как то по инету, наткнулся на одну CMS'ку, платную, крутая вся такая, дают возможность 30 дней ее потестить бесплатно, архив 5 метров весит с скриптами, скачал но на домашнем апаче своем не установил, там какой-то пхп оптимайзер нужен, сайт имеет кучу клиентов и все ссылки на их сайты есть. Самое интересное что через 5 минут обнаружил SQL инъекцию, вот тут мне и помог архив в 5 метров, которыя я слил, посмотрел где в БД хранятся админы, получил хеш (мд5) главного админа, больше 20-ти часов его брутил, надоел он мне.
А вот собственно и вопрос, пачиму с помощью UNION SELECT password FROM mysql.user WHERE user='user()'  не хрена не магу выдернуть пароль доступа к БД, мож кто знает??? Моя цель щас просто в бд мд5 хеш админа на свой мд5 заменить.....
Просмотр сообщения



просто объясни для чего это те надо. может и помогу
  • +
  • 0

#6 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 04 марта 2006 - 13:00

Цитата

Не совсем понятно что ты пытаешься сделать этой командой.

напиши по подробней

user() - эт функция?

user() - функция, например UNION SELECT user() даст имя пользователя, version(), database() , ну эт все даст то что ожидается, процесс происходит в БД под названием (что выдаст) database(), а мне надо вернуться назад, и попасть в mysql.user , там храняться все юзеры, пароли и т.п. пользующиеся этим сервером....


Цитата

просто объясни для чего это те надо. может и помогу

Наверное самоутвердиться, сам не знаю...

добавлено:
Кста про mysql.user, мне надо попасть в БД mysql и там в таблицу user
  • +
  • 0

#7 Пользователь офлайн   Dark_T 

  • Новичок
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 10
  • Регистрация: 04 августа 05
  • Репутация: 0

Отправлено 06 марта 2006 - 21:23

А почему ты взял что там должен быть пароль к БД ???
Обычно скрипт жрет его из кого нить файла !!! , А в БД хроняться данные о юзверях их правах и паролях но не к БД а к конкретному Web-приложению ... :sorcerer: :smile:
  • +
  • 0

#8 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 06 марта 2006 - 23:41

Цитата

А почему ты взял что там должен быть пароль к БД ???
Обычно скрипт жрет его из кого нить файла !!! , А в БД хроняться данные о юзверях их правах и паролях но не к БД а к конкретному Web-приложению ... 

Пойми, откуда по твоему жрет весь сервак имя и пароли юзеров???? На стандартном майскл сервере, есть такая БД, называется - mysql, а в ней есть таблица всех юзверей, где столб password и содержит то что мне нада.....
  • +
  • 0

#9 Пользователь офлайн   Dark_T 

  • Новичок
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 10
  • Регистрация: 04 августа 05
  • Репутация: 0

Отправлено 09 марта 2006 - 16:36

К этой таблице доступ имеют токо несколько пользователей + ROOT ///Кстати а какая там версия My Sql ; Apache ; PHP и.т.д .... отсюда баги и надо начинать смотреть ...
  • +
  • 0

#10 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 09 марта 2006 - 16:45

про апач и пхп не знаю, скл 40028 кажись....
  • +
  • 0

#11 Пользователь офлайн   ARTem 

  • Участник
  • PipPipPip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 104
  • Регистрация: 09 апреля 04
  • Репутация: 0

Отправлено 26 марта 2006 - 12:35

Народ вам бы почитать книжек еще... или в Инете инфу покопать... как это все рабоает... (осбоенно нажать надо на SQL)
  • +
  • 0

#12 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 28 марта 2006 - 15:55

Цитата

Народ вам бы почитать книжек еще... или в Инете инфу покопать... как это все рабоает... (осбоенно нажать надо на SQL)

Ну научи глупцов...
  • +
  • 0

#13 Пользователь офлайн   mew 

  • Участник
  • PipPipPip
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 176
  • Регистрация: 08 июля 05
  • Репутация: 0

Отправлено 31 марта 2006 - 14:11

Долго смотрел на эту тему, из краткого объяснения ничего толком не понял, но так как тема изредка поднимается, то решил пролить немного "света" на проблему. Ну, во-первых, начать надо было с ссылки для скачивания, чтобы народ посмотрел, что это за "зверь" такой. Во-вторых, суть вопроса не пойму - что всё-таки требуется: продлить триал или выдернуть из базы логи с паролями? Если у тебя уже есть скаченная база, то почему бы просто не открыть её и посмотреть? В-третьих, где ты там нашёл SQL-иньекцию (в скрипте каком-то что ли)? Я может ошибаюсь, поправь меня, SQL инъекция, оно же "навязывание запроса" - это один из приёмов атаки на сервер БД, с целью получения к нему доступа. Как я представляю её себе, объясняю на "пальцах". Типичный сценарий взаимодействия с базой данных выглядит так: пользователь вводит некоторую информацию в поля запроса (например, логин и пароль на этот форум), оттуда ее извлекает специальный скрипт и преобразует в строку запроса к базе данных, передавая серверу ее на выполнение:

$result = sql_db_query("db", "select * from userTable where login = '$Login' and password = '$Password' ");


Где $Login и $Password - переменные, которые после интерполяции строк получают фактическое значение введённые пользователем. Допустим, ты ввёл ИВАНОВ:ПАРОЛЬ, тогда строка запроса будет выглядеть так:

select * from userTable where login = 'ИВАНОВ' and password = 'ПАРОЛЬ'


Если такой логин/пароль действительно присутствуют в базе, функция сообщает идентификатор результата, в противном случае возвращается FALSE. Зная логин, но не зная пароля можно поступить так, например, ввести такие данные - admin:ДУРАК' or '1'= '1 (надеюсь понятно, где логин, а где пароль). Скрипт послушно считает эти данные и подставит их в $Login и $Password и запрос примет вид:

select * from userTable where login = 'admin' and password = 'ДУРАК' or '1'= '1'


Кавычка, стоящая после ДУРАК, замкнула пользовательский пароль, а весь последующий ввод попал в логическое выражение, навязанное БД атакующим. Кто разбирается в программировании, тот сообразит, что 1 всегда равен 1, т.е. запрос будет считаться выполненным при любом введенном пароле и SQL-сервер возвратит все записи из таблицы, которые относятся к admin. Примерно так объясняют про "навязывание запроса" на курсах web-программистов, поэтому сейчас даже "криворукий программер" знает, что прежде чем сформировать запрос к БД надо проверить логин/пароль на наличии специальных символов, таких как ' -- /*.
Если ты про эту инъекцию, то поподробней напиши, самому аж интересно. И ещё, если ты получил check-string (по твоему хеш, который ты "типа брутил", тоже интересно как, напиши), зачем восстаннавливать пароль, ведь для аутентификации он в принципе не нужен?
  • +
  • 0

#14 Пользователь офлайн   leva 

  • АМП
  • Вставить ник
  • Цитировать
  • Группа: Участник
  • Сообщений: 1 397
  • Регистрация: 12 июля 04
  • Репутация: -2

Отправлено 31 марта 2006 - 19:05

Сначало про хеш и пароль - есть такая функция, называется мд5, самый знаменитый способ хеширования пароля, который обратному востановлению не подлежит и узнать пароль по хешу можно тока брутом, т.е. перебором....
Ссылку давать смысла не вижу, т.к. уже связался с админами и расписал им все дыры, на что они пригласили меня работать у них тестером или кодером, гы...
иньекция выглядила так:
Допустим есть урл http://site/articles.php?id=8
Ну все расписывать не буду, в итоге при попадание на такой урл http://site/articles.php?id=999999+union+s...t+from+admins/* (мля, чето он в урле select нормальный не пишет) видать пароль, кста + можно и %20 заменить (это кодирование пробела)....

Сообщение отредактировал leva: 31 марта 2006 - 19:18

  • +
  • 0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых