Что такое атака инъекции JavaScript?
1. Инъекция Javascript - ввести часть кода JS в адресную строку браузера, чтобы изменить содержание переменных страницы JS и метки страниц.
Используя JavaScript, пользователи могут изменить свой контент без закрытия или сохранения веб -страниц, что выполняется в адресной строке браузера. Синтаксис команды заключается в следующем:
JavaScript: Alert (#Команда#)
Например, если вы хотите увидеть поле предупреждения о предупреждении на сайте http://www.example.com, сначала введите URL -адрес в адресной строке и подождите, пока страница загрузится, затем удалите URL и введите:
JavaScript: оповещение (Hello World)
Как новый URL. Это появит поле «Hello World Warning», используя эту технику, чтобы изменить почти все на веб -странице, например, на картинке. Предположим, есть изображение логотипа веб -сайта, и мы находим один из HTML -кода, посмотрев на исходный файл страницы:
<Img name = hi src = hello.gif>
Изображение названо HI, исходным файлом hello.gif, мы хотим изменить его на файл bye.jpeg, хранящийся на нашем сайте (http://www.mysite.com), поэтому полный адрес URL -адреса изображения http://www.mysite.com/bye.jpeg, использование Javascript Incoption, мы просто нуждаемся в введении в адрес
JavaScript: alert (document.hi.src = http: //www.mysite.com/bye.jpeg)
Вы увидите всплывающее окно по предупреждению http://www.mysite.com/bye.jpegalert, и изображение изменено. Следует отметить, что эти изменения только временные! Если вы обновляете страницу или повторно введите изменения, ваши изменения исчезнут, потому что вы просто внесли эти изменения на своем ПК, а не на веб-сервере.
Используя тот же метод, который мы можем просмотреть или изменить значение переменной, например, мы находим такую часть кода на веб -странице:
<Script language = javascript> var a = test </script>
Это означает, что значение переменной a является тестом, и теперь мы вводим:
JavaScript: оповещение (а)
Затем мы меняем его значение на Hello:
JavaScript: оповещение (a = hello)
Инъекция JavaScript обычно используется для изменения свойств формы, если предположить, что есть кусок кода, подобного этому:
<form name = format action = send.php method = post> <input type = hidden name = mail [email protected]> <input type = text name = name> <input type = propect value = propect> </form>
Мы хотим, чтобы форма отправила в наш почтовый ящик, а не на кого -то по адресу по адресу. Вы можете использовать следующую команду:
javaScript: alert ([email protected])
Может быть, вы заметили иерархию этих команд:
Давайте объясним это по порядку слева направо:
1) Документ находится на левом
2) Тогда есть имя объекта, которое мы хотим изменить (например, document.hi.src) или объект, который он содержит (например, document.format.mail.value)
3) Наконец, атрибут, который мы хотим изменить (например, Pource Path: document.hi.src или значение переменной: document.format.mail.value)
4) Использовать.
5) Когда мы хотим изменить значение атрибута, мы используем знак = значение и новое значение атрибута
*Примечание. Когда новое значение атрибута - это строка (например: document.format.mail.value
Если мы хотим использовать его в качестве значения для переменной, нам не нужно использовать двойные кавычки. Например, если мы хотим присвоить значение переменной b с переменной a, мы можем ввести JavaScript: alert (a = b).
Тем не менее, большинство тегов на странице не имеют имен, таких как:
<form action = send.php method = post> <input type = hidden name = mail [email protected]> <input type = text name = name> <input type = отправить значение = отправить> </form>
В этом коде нет имени формы. На основе вышеуказанной информации вы можете использовать эту команду:
JavaScript: Alert (Document. .Mail.Value = [email protected])
В этом случае мы должны сосчитать и найти номер последовательности формы, и следующее приведен:
<form action = send.php method = post> <input type = text name = name> <input type = propect value = propect> </form> <form action = send.php method = post> <input type = hidden name = mail [email protected]. значение = отправить> </form>
В приведенном выше коде мы видим 3 формы, но нас интересует только второе, поэтому номер формы, который мы хотим, составляет 2. Не забывайте, что мы начинаем с 1, например, 1, 2, 3, 4 ... в то время как JavaScript начинается с 0, например, 0, 1, 2, 3 ... Так что реальное число формы - 1, а не 2. Обычно мы должны вычесть номер на найденном форме на один. Мы будем использовать этот серийный номер, чтобы завершить нашу команду:
JavaScript: Alert (document.forms [1] .mail.value = [email protected])
Таким образом, вы можете изменить изображение или ссылку без имени, и вы можете изменить формы на любой тип тега, который вы хотите. Для картин
JavaScript: Alert (Document.Images [3] .src =#URL -адрес изображения, которую вы хотите#)
Для ссылки
javascript: alert (document.links [0] .href =#URL, который вы хотите#)
Наконец, мы можем использовать эту технику для редактирования файлов cookie. Следующая команда записывается DR_AMADO из riviaSecurity.net, и я изменил ее лишь немного, чтобы он появился до того, как пользователь его редактирует. Вам просто нужно скопировать их в адресную строку:
javascript: alert (window.c = функция a (n, v, nv) {c = document.cookie; c = c.substring (c.indexof (n)+n.length, c.length); c = c.substring (1, (c.indexof (;)>-1)? document.cookie = n+=+Escape (NC); Alert ('the Cookie is:'+document.cookie+''); Alert (C (Приглашение (имя cookie -cookie :,), запрос (изменить это значение:,), romplect (с этим:,))))))// Если вы хотите вручную изменить свой cookie, вы можете использовать следующую команду:
JavaScript: Alert (document.cookie)
Это отобразит ваши текущие файлы cookie, предполагая userId = 1, если вы хотите изменить его на userId = 2, вы можете использовать следующую команду:
JavaScript: Alert (document.cookie = userId = 2)
Наконец, я должен подчеркнуть, что все изменения только на стороне клиента! Это похоже на сохранение веб -страницы на вашем компьютере и изменение ее. Тем не менее, используя этот трюк, вы все еще можете обмануть страницу (например, файлы cookie) или обходной проверки безопасности. Например, некоторые веб -страницы обнаруживают местоположение, где пользователь отправляет данные. Если вы отправляете данные с http://www.test.com/form.php на http://www.test.com/check.php, Check.php может определить, поступают ли данные из формы на http://www.test.com/form.php. Кроме того, если вы планируете ввести свой собственный код JavaScript в страницу, используя некоторые из этих трюков, вы сможете изменить картинку и оставить его одинаково!
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.