Показать сообщение отдельно

  #28  
Старый 04.01.2009, 01:07
baltazar
Banned
Регистрация: 30.03.2007
Сообщений: 344
С нами: 10061666

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

http://milw0rm.com/exploits/7011


СМФ имеет функцию изменения тем,так вот это уязвимость заключается в изменении настроек тем,а затем присвоения значение $ параметрам конфигурации,так что вы можете изменять настройки смф

Итак:
Sources/Themes.php

249 в index.php:

Код:
'jsoption' => array('Themes.php', 'SetJavaScript')

1185 в Sources/Themes.php

Код:
function SetJavaScript()
Затем эта функция выделяет темы в таблице переменных, которые вы послали

1205 в Sources/Themes.php
Код:
	db_query("
		REPLACE INTO {$db_prefix}themes
			(ID_THEME, ID_MEMBER, variable, value)
		VALUES ($settings[theme_id], $ID_MEMBER, SUBSTRING('$_GET[var]', 1, 255), SUBSTRING('" . (is_array($_GET['val']) ? implode(',', $_GET['val']) : $_GET['val']) . "', 1, 65534))", __FILE__, __LINE__);
Зaтем считывает одну и ту же инфу тем же методом:

Код:
$request = db_query("
			SELECT ID_THEME, variable, value
			FROM {$db_prefix}themes
			WHERE variable IN ('name', 'theme_url', 'theme_dir', 'images_url')" . (empty($modSettings['theme_default']) && !allowedTo('admin_forum') ? "
				AND ID_THEME IN ('$knownThemes')
				AND ID_THEME != 1" : '') . "
				AND ID_THEME != 0
			LIMIT " . count(explode(',', $modSettings['knownThemes'])) * 8, __FILE__, __LINE__);
861 в Sources/Themes.php

Код:
while ($row = mysql_fetch_assoc($request))
Параметры в $context['available_themes'][TEMA]

869 в Sources/Themes.php

Код:
$context['available_themes'][$row['ID_THEME']][$row['variable']] = $row['value'];
Затем принимает информацию по пунктам:

904 в Sources/Themes.php

Код:
foreach ($context['available_themes'] as $ID_THEME => $theme_data)
И в настройки перменные принимают значения,который мы только что изменили

910 в Sources/Themes.php


Код:
$settings = $theme_data;
И в конце концов, в том числе файл, использует значение $ theme_dir
Код:
include($settings['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php')
 
Ответить с цитированием