Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Баг с Яваскриптом (javascript) во всех версиях IkonBoard

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

Открыть новую тему     Написать ответ в эту тему

Potap



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При заходе в этот топик вы заметили всплывающее окно? Подскажите как можно сделать, чтобы нельзя было такое делать? Представьте если в каждом топике будет по такому окну да и еще не по одному. Это же так раздражать будет.
[CLASSIFIED]
 
 Решение на 14.02.2005 г. Для закрытия уязвимости сделайте следующее:
 
в файле ikon.lib
 
sub ikoncode  делаем изменения. Подпрограмма, после изменения, должна выглядеть так:

Код:
 
sub ikoncode {
 
    my $post = shift;    
 
###not java### by DimoN
 $post =~ s/(\[img\])(.*?)(script:)(.*?)(\[\/img\])/$2$3$4\[<font color=red>Недопустимое действие! :moderator:<\/font>\]/isg;  
###not java end###  
###not view-source &mailto###
 $post =~ s/(\[img\])(.*?)(view-source:)(.*?)(\[\/img\])/$2$3$4\[<font color=red>Недопустимое действие! :moderator:<\/font>\]/isg;  
 $post =~ s/(\[img\])(.*?)(mailto:)(.*?)(\[\/img\])/\[<font color=red>Недопустимое действие! :moderator:<\/font>]/isg;    
 
###not view-source end###  
    $post =~ s/\<p>//isg;
    $post =~ s|\[\[|\{\{|g;
    $post =~ s|\]\]|\}\}|g;
    $post =~ s|\n\[|\[|g;
    $post =~ s|\]\n|\]|g;
    $post =~ s|<br>| <br>|g;
    $post =~ s|\[hr\]\n|\<hr width=40\% align=left>|g;
    $post =~ s|\[hr\]|\<hr width=40\% align=left>|g;
     
    ##таблица
     $post =~ s/\[table\]\[tr\]/\[table\]/isg;      
     while ($post =~ s{\[table\]([\S\s].+?[\S\s])\[/table\]}  
        {my $Tmp = $1;  
        $Tmp =~ s/\<br>/ /g;  
        $Tmp =~ s/\[tr\]/ <\/td><\/tr><tr class=lgf><td>/g;  
            $Tmp =~ s/\[tab\]/ <\/td><td>/g;  
            $Tmp = qq|<table cellpadding=\"3\" cellspacing=\"0\" bgcolor=\"#FFFFFF\" width=\"75%\" border=\"1\" bordercolor=\"#EEEEEE\"><tr class=lgf><td>$Tmp<\/td><\/tr><\/table>|;  
         }exisog) {}  
## end таблица          
     
     
    $post =~ s/\[q\]\s*(.*?)\s*\[\/q\]/<blockquote class=n2><span class=s>Цитата:<\/span><hr noshade size=1>$1<hr noshade size=1><\/blockquote>/isg;
    $post =~ s/\[quote\]\s*(.*?)\s*\[\/quote\]/<blockquote class=n2><span class=s>Цитата:<\/span><hr noshade size=1>$1<hr noshade size=1><\/blockquote>/isg;
   
    $post =~ s/\[url\](\S+?)\[\/url\]/<a href=\"$1\"\ target=\"_blank\">$1<\/a>/isg;
    $post =~ s/\[url=http:\/\/(\S+?)\]/<a href=\"http:\/\/$1\"\ target=\"_blank\">/isg;
    $post =~ s/\[url=(\S+?)\]/<a href=\"http:\/\/$1\"\ target=\"_blank\">/isg;
    $post =~ s/\[\/url\]/<\/a>/isg;
 
    $post =~ s/(^|\s|\<br\>)(http:\/\/\S+)/$1<a href="$2" target=_blank>$2<\/a> /isg;  
    $post =~ s/(^|\s|\<br\>)(https:\/\/\S+)/$1<a href="$2" target=_blank>$2<\/a> /isg;  
    $post =~ s/(^|\s|\<br\>)(ftp:\/\/\S+)/$1<a href="$2" target=_blank>$2<\/a> /isg;  
    $post =~ s/(^|\s|\<br\>)(www\.\S+)/$1<a href="http:\/\/$2" target=_blank>$2<\/a> /isg;
 
 
# Добавляем новые коды [c] и [s]
 
    $post =~ s/\[c\](.*?)\[\/c\]/<center>$1<\/center>/isg;
    $post =~ s/\[s\](.*?)\[\/s\]/<span class=s>$1<\/span>/isg;
 
    $post =~ s/\[b\]/<b>/isg;
    $post =~ s/\[\/b\]/<\/b>/isg;
    $post =~ s/\[i\]/<i>/isg;
    $post =~ s/\[\/i\]/<\/i>/isg;
    $post =~ s/\[u\]/<u>/isg;
    $post =~ s/\[br\]/<br>/isg;
    $post =~ s/\[\/u\]/<\/u>/isg;
    $post =~ s/\[img\](.+?)\[\/img\]/<img src=\"$1\">/isg;
     
#Опять фиксим яву by batva
$post =~ s/(\[size=)(\d+)\](.+?)(\[\/size\])/<font size=\"$2\">$3<\/font>/isg;    
$post =~ s/(\[font=)([A-Z a-z-]+)\](.+?)(\[\/font\])/<font face=\"$2\">$3<\/font>/isg;
$post =~ s/(\[color=)([A-Za-z]+|[#\dA-F]+)\](.+?)(\[\/color])/<font color=\"$2\">$3<\/font>/isg;  
#end фиксим яву  
     
    $post =~ s/\[\/color\]/<\/font>/isg;
    $post =~ s/\\http:\/\/(\S+)/<a href=\"http:\/\/$1\"\ target=\"_blank\">http:\/\/$1<\/a>/isg;
    $post =~ s/(\[list\])(.+?)(\[\/list\])/<UL>$2<\/UL>/isg;
    $post =~ s/(\[list=)(A|1)(\])(.+?)(\[\/list\])/<OL TYPE=$2>$4<\/OL>/isg;
    $post =~ s/(\[\*\])/<LI>/isg;
    $post =~ s/\[code\](.+?)\[\/code\]/<blockquote><font size=\"1\" face=\"Courier New\">Код:<\/font><hr><font face=\"Courier New\" size=\"2\"><pre>$1<\/pre><\/font><hr><\/blockquote>/isg;      
    $post =~ s/\[code\](.+?)\[\/code\]/<blockquote><font size=\"1\" face=\"Courier New\">Код:<\/font><hr><font face=\"Courier New\"><pre>$1<\/pre><\/font><hr><\/blockquote>/isg;
 
#Выключаем автоподсветку мыла DimoN    
    #$post =~ s/(\S+?)\@(\S+)/<a href=\"mailto:$1\@$2\"\>$1\@$2<\/a>/ig;
    $post =~ s/\[email=(\S+?)\]/<a href=\"mailto:$1\">/isg;
    $post =~ s/\[\/email\]/<\/a>/isg;
    $post =~ s/(\[FLASH SIZE=1\])(.+?)(\[\/FLASH\])/<OBJECT WIDTH=80 HEIGHT=60><PARAM NAME=movie VALUE="$2"><PARAM NAME=quality VALUE=high><PARAM NAME=scale VALUE=exactfit><PARAM NAME=menu VALUE=false><PARAM NAME=bgcolor VALUE=$BGColor><EMBED src="$2" quality=high menu=false scale=exactfit WIDTH=80 HEIGHT=60 swLiveConnect=true TYPE="application\/x-shockwave-flash"><\/EMBED><\/OBJECT>/isg;
    $post =~ s/(\[FLASH SIZE=2\])(.+?)(\[\/FLASH\])/<OBJECT WIDTH=160 HEIGHT=120><PARAM NAME=movie VALUE="$2"><PARAM NAME=quality VALUE=high><PARAM NAME=scale VALUE=exactfit><PARAM NAME=menu VALUE=false><PARAM NAME=bgcolor VALUE=$BGColor><EMBED src="$2" quality=high menu=false scale=exactfit WIDTH=160 HEIGHT=120 swLiveConnect=true TYPE="application\/x-shockwave-flash"><\/EMBED><\/OBJECT>/isg;
    $post =~ s/(\[FLASH SIZE=3\])(.+?)(\[\/FLASH\])/<OBJECT WIDTH=320 HEIGHT=240><PARAM NAME=movie VALUE="$2"><PARAM NAME=quality VALUE=high><PARAM NAME=scale VALUE=exactfit><PARAM NAME=menu VALUE=false><PARAM NAME=bgcolor VALUE=$BGColor><EMBED src="$2" quality=high menu=false scale=exactfit WIDTH=320 HEIGHT=240 swLiveConnect=true TYPE="application\/x-shockwave-flash"><\/EMBED><\/OBJECT>/isg;
    $post =~ s/(\[FLASH=)(\S+?)(\,)(.+?)(\])(.+?)(\[\/FLASH\])/ <embed src="$6" menu=false scale=exactfit HEIGHT="$4" WIDTH="$2" quality="high"><\/embed> /isg;
    $post =~ s/(\[center\])(.+?)(\[\/center\])/<center>$2<\/center>/isg;
    $post =~ s/(\[sound\])(\S+?)(\.mid|\.midi|\.wav)(\[\/sound\])/<EMBED SRC="$2$3" AUTOSTART=FALSE LOOP=FALSE WIDTH=100><\/EMBED> /isg;
    $post =~ s|\{\{|\[|g;
    $post =~ s|\}\}|\]|g;
     
    return $post;    
 
    } # end routine
     
     

 
Фиксятся две XSS-дырки (.http://www.securitylab.ru/46410.html):
Вариант 1:
В misc.cgi
после
Код:
elsif ($action eq "icq") {

ставим:
Код:
$UIN=&cleaninput($UIN);

после
Код:
elsif ($action eq "aim") {

ставим:
Код:
$aimname=&cleaninput($aimname);

Вариант 2:
находим в misc.cgi эту строчку:

Код:
elsif ($action eq "icq") {

добавляем после неё
Код:
if($UIN!~m!^\d+$!){
print header ();
&error('&Неправильный UIN ICQ');
}
else{

+ ставим закрыівающую фигурную скобку чуть ниже тут:

Код:
 
    ~;}
 
} # end elsif icq
 

 
Далее по AIM то же самое:
находим
Код:
elsif ($action eq "aim") {

добавляем после него
 
Код:
if($aimname!~m!^[\-A-Z a-z\d_]+$!){
print header ();
&error('&Неправильное имя AIM');
}
else{

и ниже закрываем скобку тут:

Код:
    ~;}
 
 
} # end aim


Первый вариант проводит стандартную замену "опасных" символов, второй — проверяет валидность номера ICQ и имени пользователя AIM'а.
 

+ сейчас при регистрации в поля ICQ и AOL можно вписать что угодно. Если нужна проверка их валидности, можно сделать следующее:
в register.cgi:
находим:

Код:
if($emailaddress !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/) { print header('text/html; charset=windows-1251'); &error("$ibtxt{'1858'}&$ibtxt{'0906'}"); }

ниже добавляем:  

Код:
if($aolname and $aolname!~m!^[\-A-Z a-z\d_]+$!){    
print header('text/html; charset=windows-1251');    
&error("&Неверное имя пользователя AIM!");    
}    
if($icqnumber and $icqnumber!~m!^\d+$!){    
print header('text/html; charset=windows-1251');    
&error("&Неверный ICQ UIN!");    
}  

profile.cgi
после строки:

Код:
$inuseravatar           = $query -> param('useravatar');

Добавляем:

Код:
if($newaolname && $newaolname!~m!^[\-A-Z a-z\d_]+$!){  
print header('text/html; charset=windows-1251');  
&error("&Неверное имя пользователя AIM!");  
}  
 
if($newicqnumber && $newicqnumber!~m!^\d+$!){  
print header('text/html; charset=windows-1251');  
&error("&Неверный ICQ UIN!");  
}  

   
 
 
 
 
 
 
 

Всего записей: 285 | Зарегистр. 06-07-2001 | Отправлено: 12:03 03-11-2001 | Исправлено: trew, 21:27 14-02-2005
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hot Fix NEW 20.11.2k1
 
ikon.lib

Код:
sub ikoncode {
 
# перед этим
    $post =~ s/\[img\](.+?)\[\/img\]/<img src=\"$1\">/isg;
 
#добавить это
$post =~ s/(\[img\])(.*?)(script:)(.*?)(\[\/img\])/$2$3$4\[<font color=red>Предупреждение :moderator:<\/font>\]/isg;
 



----------
Мы Баним с улыбкой :) ™

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 13:36 03-11-2001
Fredboy



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Potap
DimoN
А чё за всплывающее окно, я ничего не заметил ?

Всего записей: 576 | Зарегистр. 29-06-2001 | Отправлено: 14:43 03-11-2001
j0k3r



Advanced Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fredboy
Ещё пару часов назад... (хорошо звучит )
Проходила фишка с алертом на ЯваСкрипте...
Как я понял ЯваСкрипт ставился как урл image-файла
 
DimoN
Оперативно сработано!
Молодец!!!
 
Potap
МолодцА!!


----------
Музыка, Фильмы, Программы :: FunkySouls
Музыкальный форум

Всего записей: 2499 | Зарегистр. 08-09-2001 | Отправлено: 15:25 03-11-2001
Fredboy



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
j0k3r
Так в тест форумя я тока щас это видел , надпись ПРивет всем появляется , тут это было?

Всего записей: 576 | Зарегистр. 29-06-2001 | Отправлено: 19:12 03-11-2001
j0k3r



Advanced Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DimoN
!!!
Смотри тут!
http://forum.ru-board.com/topic.cgi?forum=2&topic=0000&start=0#5
 
 
Добавлено
Fredboy
Да, ты прав..
Ну вот я про это и написал ДимонУ...
Ща подлатает...


----------
Музыка, Фильмы, Программы :: FunkySouls
Музыкальный форум

Всего записей: 2499 | Зарегистр. 08-09-2001 | Отправлено: 19:54 03-11-2001 | Исправлено: j0k3r, 19:56 03-11-2001
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я хотфикс выложил для вас раньше чем сами исправили

 
Все для народа так сказать

----------
Мы Баним с улыбкой :) ™

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 21:50 03-11-2001
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эта зараза отсюда пришла. До моей конфы тоже дошла. У меня его IP есть - могу сдать с потрохами. У себя - забаню нафиг, приморское чучело.
 
Добавлено
Еще и по модему входил, идиот.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:22 03-11-2001
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
давай открытым текстом
страна должна знать своих героев

----------
Мы Баним с улыбкой :) ™

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 23:42 03-11-2001
Potap



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите мне. Ко мне какой-то хакерок пристал и все время форум ломает. Уже сильно достал. Несколько раз уже пароли взламывал и последнее что сделал, это взял и подправил сообщение мое, но пороль незнает мой. Как сделал незнаю

----------
XOST- качественная и бесплатная раскрутка сайтов!

Всего записей: 285 | Зарегистр. 06-07-2001 | Отправлено: 23:46 03-11-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx эта зараза и ко мне пришла. ип у него приморский Приморье-Онлайн провайдер.  IP 212.122.0.219
у меня тока под гуестом писал

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 00:12 04-11-2001
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimoN

Цитата:
давай открытым текстом  
страна должна знать своих героев

На:
 dialup129.primorye.ru [212.122.0.129]
 
Сейчас его нет в онлайне, ух, разозлил меня.
 
 
 
Добавлено
А я могу его забанить так: 212.122.0.*
Диал-ап, все-таки...

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 00:22 04-11-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
А я могу его забанить так: 212.122.0.*  

там еще надо 212.122.3.* банить
ну и что, все приморье отдыхает тогда? толку то банить? ..... он меняется от раза до раза. Он иожет и не придет больше, а простые юзеры не пойму в чем дело..... и никогда не придут больше к тебе.

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 07:59 04-11-2001
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можете банить  
но лучше просто запретить javascript  и непариться

----------
Мы Баним с улыбкой :) ™

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 14:02 04-11-2001
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimoN
Ява-скрипт я запретила. Спасибо за код. Мне теперь конфу не апдейтнуть - сколько фишечек твоих там понапихано.
 
Аусвайсик, переживаешь, что не войдешь? Нужен хак, что-то типа "Белого списка" - для привелигированных пользователей с забаненных диапазонов IP-адресов.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:40 04-11-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx во точно! это мысль......  

Цитата:
Нужен хак, что-то типа "Белого списка"  

типа для зареганных - банлист не пашет....

Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 20:29 04-11-2001
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ausw

Цитата:
типа для зареганных - банлист не пашет....  

Нет. Не так. Для тех, кто в "белом списке" он не пашет.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 23:39 04-11-2001
DimoN



Tech administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
принимается к разработке

Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 04:02 19-11-2001
uucyc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я думал, он только на мой форум разозлился! Такой мат вставил, что уши вянули! Так я в список запрещённых слов поставил java и alert теперь ничего с этими словами работать не будет!
 
Этот кадр мне сам свою инфу оставил!
Вот она!
dialup80.primorye.ru [212.122.0.123]
 
 
Подскажите, где я могу забанить IPишки? Вроде центр управления позволяет банить только юзеров, а если он вновь зарегится, что тогда?

Всего записей: 4 | Зарегистр. 19-11-2001 | Отправлено: 11:40 19-11-2001
Ausw



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
типа для зареганных - банлист не пашет....  


Цитата:
Нет. Не так. Для тех, кто в "белом списке" он не пашет

не-а... байда булет. гляди пример.
сижу я на борде твоей, бан-лист для меня не пашет. кидаю ссылочку в асю Васе какому-нить, который давно искал ответ на вопрос, и тут бац! на твоей борде сей ответ - а Вася не реганный, и в белом листе на учете не стоит. и попадает Вася в разряд

Цитата:
забаненных диапазонов IP-адресов

"ёмае...", подумает Вася, и будет до чертиков недоволен, что не смог попасть в обсуждаемую тему....  
 


Всего записей: 7371 | Зарегистр. 12-07-2001 | Отправлено: 12:04 19-11-2001
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Баг с Яваскриптом (javascript) во всех версиях IkonBoard


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru