Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Читаем файлы через слепую инъекцию (https://forum.antichat.xyz/showthread.php?t=246796)

durito 10.12.2010 10:05

вот тут решил поделиться небольшим опытом

Недавно столкнулся с такой проблемой, нашел в одном крупном датинге слепую инъекцию. Снял пароль root'a для mysql, благо он крутился под ним. Потом нашел директорию http://www.хороший_датинг.com/phpmyadmin/ и оставалось лишь расшифровать хеш. Но вот тут я завис не 2 месяца. Поднятые на дедиках брутилки так ничего и не дали. Платные онлайн-сервисы тоже мне никак не помогли.

Короче промучившись с брутом, я решил поискать иной способ проникновения. Возникла мысль прочитать файл коннекта к базе, ведь там пароль должен был лежать в открытом виде. Вся надежда была на то, что админ не пользуется различными приблудами типа Zend Optimizer для шифрования php-кода.

С помощью сканера директорий и файлов http://scan.0day.in:8080/action/scan я нашел файл http://www.хороший_датинг.com/auth.php. Оставалось вывести его содержимое через слепую инъекцию. Но для начала мне надо было узнать путь до файла. Можно было подставляя служебные символы во все формы сайта попытаться вывести ошибку, но я решил для начала воспользоваться гуглом. По запросу site: www.хороший_датинг.com mysql или home можно иногда получить полный путь до корня, так как иногда скрипты сервера глючат и этот глюк индексирует гугл. Так случилось и в этот раз. И даже не смотря на то, что глюкнувший скрипт уже работал нормально, в хеше гугла сохранился пусть до корня.

Код:

Code:
/home/ldc/хороший_датинг/public_html/login.php

Зачарив путь до нужного мне скрипта

Код:

Code:
+and+ascii(substring((LOAD_FILE(CHAR(47,104,111,109,101,47,108,100,99,47,245,238,240,238,248,232,233,95,228,224,242,232,237,227,47,112,117,98,108,105,99,95,104,116,109,108,47,108,111,103,105,110,46,112,104,112))),1,1))>96

Я понял что перебирать придется руками, а это не есть гуд. SIMP4 выводит блингом значения до 1 пробела, поэтому все что он мне показал было

totenkopf 15.12.2010 06:41

Информация к размышлению

Код:

Code:
position("pass" IN load_file("/path/config.php"))
select substring(load_file("/path/config.php"),pos)


попугай 15.12.2010 06:53

Цитата:

Сообщение от totenkopf
totenkopf said:
Информация к размышлению
Код:

Code:
position("pass" IN load_file("/path/config.php"))
select substring(load_file("/path/config.php"),pos)


а что за функция "position"?

totenkopf 15.12.2010 07:01

Возвращает позицию вхождения подстроки в строку или ноль если строка не найдена.

Функция таит в себе огромные возможности. Как вам например такой запрос:

Код:

Code:
http://site.ru/index.php?id=1+UNION+SELECT+1,group_concat(concat_ws(0x3a,table_schema,table_name,column_name))+FROM+information_schema.columns+WHERE+position(0x70617373+in+column_name)+--+

Выводит все таблицы в названии полей которых есть "pass". Причем кавычки не используются.

altblitz 15.12.2010 07:51

durito - нашенский ))

проявил волю, терпение и способности анализировать и исправлять свои ошибки.

"Папа, а что такое Гугл?"

"Это хакирский сайт"

http://www.2-ch.ru/wm/thumb/1292373420250s.jpg


Время: 08:30