Forum Webscript.Ru
Наши скрипты => Sanitarium WebLoG => Тема начата: Ptiza от 19 Апреля 2002, 16:31:41
-
Ну вот, дождались. Один хрен все-таки вопользовался разгильдяйством моих админов, которое не позволяло паролировать никаим образом директории в cgi-bin.
Так что, будеьте осторожны. Если Какаду решит, что публикация скрипта, который автоматически после добавления новой статьи уничтожает все публикации из базя, он е опубликует. А пока, уделите особое внимае безопасности. А к создателям вопрос - как восстановить базу, когда файлы все на сервере сохранились и как вычистить из index.dat этот скрипт, чтобы все потом работало?
-
Кстати, комментари сразу. Скрипт, который был вставлен этим ублюдком (а в общем, хорошим человеком, хотя и сукой порядочной), при модификации статьи (в заголовке статьи пишется текст, который порядочный редактор удаляет, сохряняет статью и тем самым подписывает своему сайту смертный приговор), в которую был вставлен код, уничтожает базу.
-
Что-то я не понял если честно что произошло? Не была запоролена админская панель? Посетитель добавил вызов скрипта в комментарие (прислал на публикацию новую статью)?
-
Админская панель не была запаролена. "Доброжелатель" изменил одну из статей, добавив в нее некий скрипт. После того, как я попытался вернуть эту статью в ее первоначальное состояние, скрипт порушил всю базу, перетасовал файл index.dat и Бог знает, что еще.
-
Вниманию пользователей!
Рекоменудю всем скачать себе на локальную машину содержимое директории admin/data и проверить файлы на наличие строчки
function _parseint(val) // hack :)
Если в каком-либо из файлов подобная строчка будет обнаружена (соответственно, и за ней что-то следует), то статью под этим номером ни при каких условиях нельзя модифицировать, иначе скрипт будет запущен. Я обнаружил, что первый раз на данные моегосайта покушались еще 30 марта, но тогда никаким образом это не проявлялось на содержимом статьи и мысли о том, чтобы ее изменить у меня не было. Лишь в пятницу в одной из статей появились строчки о том, что сайт подломан. После того, как я исправил эту статью, все слетело.
-
А ты ничего не путаешь???
Я нашёл в одной своей статье такие строчки:
{
var result ;
result = \'"\'+value+\'"\';
return result;
};
function _parseint(val) // hack :)
{
var result;
result = val * 1;
if (isNaN(result))
{
result = 0
};
return result;
}
function InsertPicture()
{
var pic_url, pic_caption, pic_width, pic_height, tab_width, tab_height, t_align;
pic_url = document.frm1.pic_url.value;
pic_caption = document.frm1.pic_cpt.value;
pic_width = document.frm1.pic_width.value;
pic_height = document.frm1.pic_height.val
Причём НИКТО меня не хакал и эти строки я обнаружил в дат файле статьи которая добавлена одна из первых.
И ЧТО САМОЕ ГЛАВНОЕ: в файле lang.pl, я также нашёл такие строки:
function _parseint(val) // hack :)
{
var result;
result = val * 1;
if (isNaN(result))
{
result = 0
};
return result;
}
Такчто я думаю врядли это взлом. Но всёже, Какаду, откуда в одной из статей взялся вышеуказанный код? И почему в других его нет??? Ичто это вообще за код? Пахнет багом...
-
Вот и именно, такая строчка у меня есть только в двух статьях. Причем, когда я исправил одну из них - все слетело нафиг.
-
Поскольку этот отрезок кода вставляеться в статью самим скриптом, то это какой-то глюк. Будем ждать ответа Какаду.
-
я тут отлучался на врямя..
Вы ничего не напутали? JavaScript ничего сделать сам не может - это раз.
Потом ;) вот привожу FozzySnippetCode (если в конфиге он включается, то в меню с добавлением статьи дрбавляются дополнительные опции по вставке рисунка/таблицы)
function _qw(value)
{
var result ;
result = \'"\'+value+\'"\';
return result;
};
function _parseint(val) // hack :)
{
var result;
result = val * 1;
if (isNaN(result))
{
result = 0
};
return result;
}
function InsertPicture()
{
var pic_url, pic_caption, pic_width, pic_height, tab_width, tab_height, t_align;
pic_url = document.frm1.pic_url.value;
pic_caption = document.frm1.pic_cpt.value;
pic_width = document.frm1.pic_width.value;
pic_height = document.frm1.pic_height.value;
t_align = document.frm1.t_align.value;
if (pic_url == null || pic_url == "")
{
alert("Не указан урл картинки");
return;
};
if ( _parseint(pic_width) <= 0 || _parseint(pic_height) <= 0)
{
alert("Неверно указаны размеры картинки ");
return;
};
var s_tw, s_th;
s_tw = _parseint(pic_width) + 2;
s_th = _parseint(pic_height) + 2;
var result = "\\\\n\\\\n";
var res;
if (t_align == 0) {
res = "\\\\n"
}
else {
res = "\\\\n"
};
result = result + res ;
result = result +
( pic_caption ?
" |
\\\\n" :
" |
\\\\n"
);
//второй ряд, с caption
if (pic_caption == null)
{
pic_caption = ""; //just in case
};
result = result + ""+ pic_caption + " |
";
result = result + "
";
/*result = result + pic_url + " " + pic_cpt + " " + tab_width + " "+ tab_height; + " " +pic_height;*/
result = result + "\\\\n";
var newval = document.frm1.content.value + result;
document.frm1.content.value = newval;
};
function InsertATable()
{
var row_cnt , col_cnt, tab_width, tab_height, result;
row_cnt = _parseint(document.frm1.t_row_cnt.value);
col_cnt = _parseint(document.frm1.t_col_cnt.value);
tab_width = _parseint(document.frm1.t_width.value);
if (row_cnt == 0 || col_cnt == 0 )
{
alert("Число колонок и строк должо быть > 0");
return;
};
if (tab_width > 100 || tab_width <= 0 )
{
alert("Ширина таблицы должны быть в пределах от 0 до 100");
return;
};
result = "\\\\n\\\\n";
result = result + "\\\\n";
var i, k;
for ( i = 0 ; i < row_cnt ; i ++)
{
result = result + "\\\\n";
for ( k = 0; k < col_cnt; k ++)
{
result = result + " | ";
};
result = result + "\\\\n
";
};
result = result + "\\\\n
";
result = result+"\\\\n\\\\n";
var newval = document.frm1.content.value + result;
document.frm1.content.value = newval;
}
function UpdTabControls()
{
var freeze_em = document.frm1.auto_adjust.checked;
document.frm1.tab_height.disabled = freeze_em;
document.frm1.tab_width.disabled = freeze_em;
};
~;
Т.е. все нормально ;) без паники.
О восстановлении.
Если все содержимое папки data осталось как было, то все восстаналивается простой кнопкой - регенерировать систему.
Чтоб все удалить нафиг ;) скриптом - не нужно извращаться это делается очень просто:
unlink index.dat;
-
;) это просто комментарии
-
Чё-то я всё равно не понял откуда в одной из статей, точнее в самом конце дат файла появился такой код
{
var result ;
result = \'"\'+value+\'"\';
return result;
};
function _parseint(val) // hack :)
{
var result;
result = val * 1;
if (isNaN(result))
{
result = 0
};
return result;
}
function InsertPicture()
{
var pic_url, pic_caption, pic_width, pic_height, tab_width, tab_height, t_align;
pic_url = document.frm1.pic_url.value;
pic_caption = document.frm1.pic_cpt.value;
pic_width = document.frm1.pic_width.value;
pic_height = document.frm1.pic_height.val
А в других статьях такого нет.
И что за комментарий //hack :) ???
-
Чё-то я всё равно не понял откуда в одной из статей, точнее в самом конце дат файла появился такой код
хы, а это мне и самому интересно.
-
вот примерно как выглядит структура страницы, а каким образом в данные затесался JS скрипт непонятно тогда отключите Fozzy что-ли..
Вот этого то делать и не хочеться
И ещё я заметил, что этот код, иэ фози, вставляеться в статью, при написании которой использовался этот самый фози.
-
И ещё я заметил, что этот код, иэ фози, вставляеться в статью, при написании которой использовался этот самый фози.
;) забавный эффект
-
забавный эффект
Я тоже так думаю. :)
-
Народ, ради Бога, отключитте этот Fozzy. От греха подальше. У меня подозрение, что база упала именно из-за того, что этот Fozzy использовали при написании статьи, исправив которую я обрушил всю базу. По крайней мере, Бухгалтер из преф-клуба, который мне эту свинью подкинул, не собирался делать ничего плохого, он просто использовал функции Fozzy при написании дискришна статьи. Так что, будьте осторожны.