DOM XSS Селектор JQuery CTFJquery

Программирование на jquery
Ответить
Anonymous
 DOM XSS Селектор JQuery CTF

Сообщение Anonymous »

Я нашел приведенный ниже JS-скрипт в исходном коде веб-сайта CTF. Если я правильно понимаю скрипт, после загрузки сайта вызывается функция getParameterByName, которая возвращает значение URL-параметра focus.
В дальнейшем значение рассматривается как селектор, на котором находится фокус. () вызывается функция. Так, например, добавление ?focus=#search к базовому URL-адресу выделяет ввод с идентификатором «search».

Код: Выделить всё

function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}

$(document).ready(function() {
// Focus field specified in focus column
var selector = getParameterByName("focus");
$(selector).focus()

// Override submit functio
$("#search_form").submit(function(e) {
$("#output").text("submitting");
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(),
// serializes the form's elements.
success: function(data) {
$("#output").text(data);
}
});

e.preventDefault(); // avoid to execute the actual submit of the form.
});
});

Я пытался изменить URL-адрес, передав элемент ввода с помощью onFocus, но безуспешно.

Код: Выделить всё

https://example.org/?focus=
Кроме того, попробовал экранировать строку, чтобы вызвать оповещение внутри фокуса.

Код: Выделить всё

https://example.org/?focus=#search").focus(function(){alert(1)});).focus()
Или добавьте атрибут onFocus.

Код: Выделить всё

https://example.org/?focus=#search").attr('onFocus', 'alert(1)').focus();
Все вышеперечисленные попытки не увенчались успехом.
Я искал в Google приемник селектора JQuery, но не нашел ничего полезного. Подскажите пожалуйста, что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... lector-ctf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»