![]() |
найти и прочитать с сервера файл зная логин\пароль на mysql и больше ничего
Возможно, я пишу не в тот раздел, поправьте меня если что.
Ситуация: "жертва" - две машины, обе имеют выходы в инет. На 1й крутится: виндаХР, апач, RAdmin ftp, mail и ещё куча всякой моелочи. На 2й крутится: линь и MySQL. Все другие порты кроме 3306 тупо закрыты. MySQL не имеет привязки к localhost, зайти туда можно с любого места. Зачем так сделали - понятия не имею. Методами вдумчивого копания сайта с 1й машины найден пароль рута на MySQL. Никуда больше пароль не подходит. Т.Е. всё что у меня есть - это root\pass на MySQL. Что нужно - считать файл со 2й машины (на которой MySQL). Собственно вопрос: можно ли, зная название файла но не зная где он лежит, его найти? Всё, что мне нужно - это получить содержимое этого файла. Но пути к нему я не знаю. А в MySQL и SQL вообще разбираюсь крайне слабо... |
можно залить шшел и спокойно найти файл.
Это мой 500-ый пост. всем пива за мой счёт!) |
Цитата:
|
можно попробовать открыть базу locate, и узнать путь до нужного файла, где ее искать в гугле написано было.
|
Шелл некуда заливать, на том серве где MySQL нет больше ничего, все порты закрыты.
Лично я бы ограничил доступ на MySQL только с сервера №1 (да хотя бы фаерволом), на котором сайт, а они всем подряд открыли.... Можно поподробнее, что за locate? Я в MySQL ни бум-бум, мне это слово ни о чём ни говорит к сожалению, намекните о чём речь... |
Попробуй открыть /etc/passwd и оттуда вытащить пароль от рута.
|
Цитата:
|
В /etc/passwd пароли уже давно не храняться , в /etc/passwd в большинстве случаев хранится только логин-лист
теперь пароли(хеши) в /etc/shadow(в FreeBSD - /etc/master.passwd), если ничего не путаю.. вот вам пример /etc/passwd Цитата:
Через LOAD DATA INFILE ? Но ведь для применения команды LOAD DATA INFILE к серверным файлам необходимо обладать привилегиями FILE для серверного хоста? |
не для хоста а для мускуля ,любой пользователь, которому предоставлена такая привилегия, имеет право прочитать или записать любой файл, который может прочитать или записать сервер MySQL.
|
т.е права пользователя на котором крутится mysql?
да уж наверно врятли... Так может стоит узнать сначала, есть ли такие права? если прав нет, то смысла путь к файлу узнавать Цитата:
|
на МуСКуЛ у меня есть пароль рута.
и я проверил, file_priv включён. т.е. теоретически прочитать файл можно. вопрос, есть ли средства его найти, если я знаю его название, но не знаю где конкретно установлена та программа, к которой он? собственно, файл который нужен - это конфиг от одной программы. возможно, можно посмотреть какой-то реестр установленных программ? или в линях такого не предусмотрено? |
тебе стоит перенести тему в раздел - уязвимости...
я думаю там точно найдут решение |
залей шелл ...
|
Цитата:
Какая версия MySQL? |
сервер не без сайтом .. особено сервер с мускл
|
Цитата:
1 топик |
Цитата:
Код:
# ls -l /var/lib/slocateКод:
$ mysql -hserver -uroot -ppasswordКод:
mysql> \! find / -name '*filename*' -type f -print |
хм... а что мешает залить шелл через SQL-inj на первую машину, а с нее уже лезть на вторую, точнее пытаться лезть, ведь порты закрыты только извне (из интернет), а изнутри (с локалки) не может быть чтобы абсолютно все порты были закрыты, кроме мускульного..
просто апдейтишь таблицу из которой первый сайт берет например новости и вставляешь в базу произвольный пхп код, потом с первого сайта вызываешь запрос к базе, в нужную колонку в нужную таблицу и в файл заливается шелл, а там уже смотришь по обстоятельствам и узнаешь где конкретно лежит твой файл, и если прав хватит то просматриваешь его |
Вот простенький скрипт:
PHP код:
|
Шелл не помог, с первой машины (сайт) на вторую (база) есть доступ только на базу.
Локатор - не смог разобраться :( Походу бесполезняк... ...а последний приведённый скрипт, он, простите, к чему? php там вертится на одной машине, загрузить оттуда etc/passwwd невозможно потому что там WinXP :) и такого файла просто нет. |
| Время: 22:45 |