- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
для белого проекта необходимо реализовать XSS в яваскрипте
к примеру:
есть два сайта site1.ru, site2.ru
в код страницы site2.ru/index.html вставляется код <script src="http://site1.ru/somejs.js">
потом необходимо отправить данные в http://site1.ru/somescript.pl - (можно ли как-то отправить post запрос?)
потом необходимо скачать данные с http://site1.ru/somedata.xml или http://site1.ru/somedata.json
и соответственно поменять содержимое страницы без перезагрузки
другими словами, как можно обойти ограничения XmlHttpRequest к XSS?
ps: доступ полный ко обоим сайтам
pss: есть несколько вариантов на уме уже, но хотелось бы послушать советов тех,кто сталкивался
post - можно через ифрейм, но если тебе не интересен ответ этого поста) потому что обратится к нему и из него не дадут настройки безопасности.
а чтобы подгружать данные схема проста - вставляй <script src="http://... ?..&..&..&callback=MyFunc"></script>
ну и твой скрипт долежн писать нечто вида
data_aUIYHANKnAUKQKNNkjAKN = [{name:"user"},{name:"vasia"}];
MyFunc(data_aUIYHANKnAUKQKNNkjAKN);
вот такие пироги :)
потом необходимо отправить данные в http://site1.ru/somescript.pl - (можно ли как-то отправить post запрос?)
можно передать данные на сервер методом POST с помощью XmlHttpRequest / Msxml2.XMLHTTP / Microsoft.XMLHTTP, почему нет? Был у меня такой код, который обходил поля формы и конструировал POST запрос, а затем отправлял его через AJAX. Все работало замечательно, пока на каком-то хостинге не установили систему безопасности, которая начала такие запросы резать - я предпочел отказаться от POST в AJAX тогда, хотя можно было просто получше замимикрировать под какой-либо броузер, но времени не было разбираться. Я так подозреваю, что по RFC состряпать запрос этой системе мало показалось - нужно было разделители полей в POST сделать похожими на те, что броузеры используют.
А ограничения XmlHttpRequest к XSS можно обходить, установив скрипт, редиректящий запросы на "родном" домене - лишняя нагрузка, конечно... bearman - толково предложил.
по рфц там ничего стряпать не надо)
по рфц там как и в гете &.
а вот если использовать multiple/form-data .. тогда да, придется баундари стряпать
post - можно через ифрейм, но если тебе не интересен ответ этого поста) потому что обратится к нему и из него не дадут настройки безопасности.
интересен :)
а чтобы подгружать данные схема проста - вставляй <script src="http://... ?..&..&..&callback=MyFunc"></script>
ну и твой скрипт долежн писать нечто вида
data_aUIYHANKnAUKQKNNkjAKN = [{name:"user"},{name:"vasia"}];
MyFunc(data_aUIYHANKnAUKQKNNkjAKN);
вот такие пироги :)
вот так я и думал делать.. но тут проблема... скорее всего, передавать придется большие массивы... по крайней мере, больше, чем 255 символов
как выход вижу, сделать пост запрос в ифрейм, дождаться, когда он загрузится, после этого сделать гет запрос, и узнать статус прошлого запроса... муторно это
в принципе, можно и такой способ реализовать... но может кто-то подскажет, как передать на другой сервер большой массив данных (метод пост для этого подходит) и получить ответ сервера по-красивее?
можно передать данные на сервер методом POST с помощью XmlHttpRequest / Msxml2.XMLHTTP / Microsoft.XMLHTTP, почему нет? Был у меня такой код, который обходил поля формы и конструировал POST запрос, а затем отправлял его через AJAX. Все работало замечательно, пока на каком-то хостинге не установили систему безопасности, которая начала такие запросы резать - я предпочел отказаться от POST в AJAX тогда, хотя можно было просто получше замимикрировать под какой-либо броузер, но времени не было разбираться. Я так подозреваю, что по RFC состряпать запрос этой системе мало показалось - нужно было разделители полей в POST сделать похожими на те, что броузеры используют.
А ограничения XmlHttpRequest к XSS можно обходить, установив скрипт, редиректящий запросы на "родном" домене - лишняя нагрузка, конечно... bearman - толково предложил.
редирект - не выход :( . схему передачи данных я описал в первом посте
там как бы дело не в форме... запрос будет на лету генериться из разных данных
редирект не сканает (если я не ошибаюсь) браузер не тупой (я про фф например).
гет данные давно уже больше 255 символов) 1000 - легко. а 1000 - много достаточно. а чо за массивы то передавать собираешься? нах большие?)))
bearman добавил 04.02.2009 в 02:05
если большие, разбей на части)))))) по несколько <script цепляй )))
есть два сайта site1.ru, site2.ru
в код страницы site2.ru/index.html вставляется код <script src="http://site1.ru/somejs.js">
потом необходимо отправить данные в http://site1.ru/somescript.pl - (можно ли как-то отправить post запрос?)
потом необходимо скачать данные с http://site1.ru/somedata.xml или http://site1.ru/somedata.json
и соответственно поменять содержимое страницы без перезагрузки
другими словами, как можно обойти ограничения XmlHttpRequest к XSS?
1. POST легко отправляется AJAXом.
2. Ограничения обходятся просто - ставишь на site2.ru скрипт "зеркальщик" который просто получает запрос от AJAXа - переправляет его на http://site1.ru/somescript.pl, получает ответ и транслирует его твоему AJAXу без всяких проблем с безопасностью...
Хотя я подозреваю что речь идет о случае, когда речь идет о site2.ru на бесплатном хостинге и хочется на них делать "доры" с раздачей контента с основного сервака где site1.ru лежит... :)
В этом варианте удаленные загрузки для site2.ru не поддерживаюся бесплатным хостингом, либо там вообще PHP/PERL нету. Тогда никак... Разве что заставлять пользователей работать из под FF и при этом заставлять их устанавливать Greasemonkey, после чего юзать GM_xmlhttpRequest...
редирект не сканает (если я не ошибаюсь) браузер не тупой (я про фф например).
гет данные давно уже больше 255 символов) 1000 - легко. а 1000 - много достаточно. а чо за массивы то передавать собираешься? нах большие?)))
bearman добавил 04.02.2009 в 02:05
если большие, разбей на части)))))) по несколько <script цепляй )))
гет данные давно уже больше 255 символов)
привет из каменного века вам :)
большие - типа краткого содержания новости... с форматирование хтмл... не уверен, но может быть большим
еще может несколькими запросами отправлять?
2. Ограничения обходятся просто - ставишь на site2.ru скрипт "зеркальщик" который просто получает запрос от AJAXа - переправляет его на http://site1.ru/somescript.pl, получает ответ и транслирует его твоему AJAXу без всяких проблем с безопасностью...
могу только статику использовать на первом серваке...
писал постом выше
http://www.google.ru/search?hl=ru&q=%D0%B4%D0%BB%D0%B8%D0%BD%D0%B0+get+%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=0&oq=%D0%B4%D0%BB%D0%B8%D0%BD%D0%B0+get+
честно скажу что ЭТО зависит от браузера.
используй ифрейм + setInterval (document.werite<script
чтобы проверять пришли ли данные. думаю что такого должно хватить :)