Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Портал > Безопасность

Ответ
 
Опции темы Опции просмотра
Manga вне форума Manga
Далекая Радуга

Аватар для Manga

| Цитировать Старый #1 12-08-2006, 11:38

Вот что мне написали:

"я нашёл ещё одну Cross-Site Scripting уязвимость на вашем сайте.

XSS:


21.11.2006

http://mysite/modules/mycatalog/rate...)%3C/script%3E

http://mysite/modules/mycatalog/rate...22%3Cscript%20


Для девочек

Посетить домашнюю страницу Manga
  Сообщения: 682 c 08.03.2004 | Репутация: 11
Michael-XIII вне форума Michael-XIII
Стар я для всего этого

Аватар для Michael-XIII

| Цитировать Старый #2 12-08-2006, 13:47

Где то вначале этого файла написать что-то типа

$lid= (int)$_GET['lid'];

Фикс за 30 секунд


"А почему в RunCMS глючит ... ?"
"Глупые винят других. Умные – себя. А мудрые идут вперед". (С)
Посетить домашнюю страницу Michael-XIII
  Сообщения: 1,313 c 18.07.2005 | Репутация: 93
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #3 12-09-2006, 13:12

$lid= intval($_GET['lid']);

приведение типов, насколько я помню, не в каждой версии PHP сработает. Или нет?


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
Usama вне форума Usama
Старший участник

Аватар для Usama

| Цитировать Старый #4 12-09-2006, 17:08

Файл ratecatalog в модуле mycatalog

Сделал подругому проверку на наличие лишнего в lid
После примерно 25-26 строка
$anonwaitdays = 1;
$ip = _REMOTE_ADDR;
оставляем
$lid = int($HTTP_POST_VARS['lid']); или то что ребята выше предлагали, теперь самое главное:

Ищем
78-80 строка
exit();

} else {
include_once(XOOPS_ROOT_PATH."/header.php");

После вставляем:
if (!ctype_digit($lid)) {
echo "Ваша попытка взломать сайт записана. Данные отправлены админимстратору для обращения в отдел безопастности.<br>";
echo"Ваш IP адрес:";
echo _REMOTE_ADDR;
break;
}

Усе вот вся проверка на всякие уязвимости. теперь доступно обращение будет только по числу... которое соответвует номеру предприятия.
Подобная уязвимость возможна и в mylinks
Потвердилось в mylinks тоже есть такая фигня...
делаем тоже что и с mycatalog только в файле ratelink.php

Последний раз редактировалось Usama, 12-09-2006 в 18:03


Творческая работа - это прекрасный, необычайно тяжелый и изумительно радостный труд.
Николай Островский
Посетить домашнюю страницу Usama
  Сообщения: 1,404 c 10.12.2003 | Репутация: 82
Manga вне форума Manga
Далекая Радуга

Аватар для Manga

| Цитировать Старый #5 12-10-2006, 20:02

После
$anonwaitdays = 1;
$ip = _REMOTE_ADDR;

Должно стоять
$lid = int($HTTP_POST_VARS['lid']);

Так?


Для девочек

Посетить домашнюю страницу Manga
  Сообщения: 682 c 08.03.2004 | Репутация: 11
Manga вне форума Manga
Далекая Радуга

Аватар для Manga

| Цитировать Старый #6 12-10-2006, 20:13

Usama Такая же вставка в файл ratelink дает на каждое честное голосование "Ваша попытка взломать сайт записана. Данные отправлены админимстратору для обращения в отдел безопастности."


Для девочек

Посетить домашнюю страницу Manga
  Сообщения: 682 c 08.03.2004 | Репутация: 11
Usama вне форума Usama
Старший участник

Аватар для Usama

| Цитировать Старый #7 12-11-2006, 05:31

На самом деле вся проблема заключается в форме которая формируется при выводе..
Где написано
<input type="hidden" name="lid" value="<?php echo $lid;?>">
Засчет этого кода и выводится хэш и все остальное используя разорванный джава скрипт.
Впринципе я смотрел только на реализацию mylinks/


Творческая работа - это прекрасный, необычайно тяжелый и изумительно радостный труд.
Николай Островский
Посетить домашнюю страницу Usama
  Сообщения: 1,404 c 10.12.2003 | Репутация: 82
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #8 12-11-2006, 09:38

Цитата:
Сообщение от Usama Посмотреть сообщение
$lid = int($HTTP_POST_VARS['lid']);
Что это за функция?

Цитата:
Сообщение от Usama Посмотреть сообщение
Усе вот вся проверка на всякие уязвимости. теперь доступно обращение будет только по числу... которое соответвует номеру предприятия.
Зачем так? Проблема то не в Пост, а в Гет, но что ты сам и ответил:

Цитата:
Сообщение от Usama Посмотреть сообщение
На самом деле вся проблема заключается в форме которая формируется при выводе..
Соответственно лечится

PHP код:
<input type="hidden" name="lid" value="<?php echo intval($lid);?>">
К слову, в mycatalog есть и еще дырки, закрытые в mylinks

P.S. Usama я пока не одобрил твою новость, по указанным выше причинам.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
Usama вне форума Usama
Старший участник

Аватар для Usama

| Цитировать Старый #9 12-11-2006, 10:17

Пересмотрю... думаю стоит вообще изменить весь каталог предприятий...


Творческая работа - это прекрасный, необычайно тяжелый и изумительно радостный труд.
Николай Островский
Посетить домашнюю страницу Usama
  Сообщения: 1,404 c 10.12.2003 | Репутация: 82
HDMan вне форума HDMan
Зам старшего участника


| Цитировать Старый #10 05-13-2007, 22:17

как вы думате
было-бы уместно в связи с вышесказнным заменить все
$HTTP_POST_VARS
$HTTP_GET_VARS
$_GET
$_POST

на $_REQUEST

дабы избежать подобных накладок с другими переменными

или может быть было-бы уместно "обнулить" в common.php наиболее используемые переменные.

первый вариант мне кажится наиболее подходящим.



Посетить домашнюю страницу HDMan
  Сообщения: 341 c 06.11.2005 | Репутация: 75
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 85.65 Kb. compressed to 78.28 Kb. by saving 7.37 Kb. (8.60%)
Page generated in 0.09957 seconds with 10 queries