2014-12-10 5 views
0

У меня есть веб-сайт https://xx.com/guidesЯвляется ли мой код уязвимым для XSS?

Когда я сканировать мой сайт, я получаю это:

подробно Редакция: Заявление может быть уязвима для DOM-сценариев на основе кросс-сайта. Данные считываются из window.location.href и записывается в $() через следующее заявление:

$('.page-sidebar a[href="' + window.location.href + '"]') 
     .addClass('selected') 

Может быть, это вызвано этим кодом:

<script> 
$(function() { 
    $('.page-sidebar a[href="' + window.location.href + '"]').addClass('selected') 
}) 
</script> 

Я попытался сформировать POC https://xx.com/guides?"]);alert(2), но до сих пор не повезло

  1. Мой браузер отключил XSS фильтрации
  2. Я cetrtain, что DOM xss возможно

  3. Мне нужна помощь в создании POC!

Полный код: http://pastebin.com/Bs4vuUH3

+1

Независимо от этого, рекомендуется избегать 'location.href', чтобы он не нарушал синтаксис селектора. –

+0

Возможно, существует некоторая уязвимость, например: 'href = 'foo"] \'); $ (\ 'html \'). Remove(); $ (\ '. A [href = ""' ;;, но i ' m lly, чтобы заставить это работать –

ответ

1

No. В то время как вы используете внешне введенных данных, вы никогда не вводить его в DOM.

+0

Что вы, сиад, я не понимаю! –

+0

- мой код неуловим? Если да, то как? или если нет, то почему мой сканер говорит «да»? –

+0

Почему ваш сканер не отвечает, что –

0

Учитывая, что вы, похоже, не можете написать «уязвимые», чтобы спасти свою жизнь, вот ответ, который так же прост, как я могу это сделать.

Является ли ваш код уязвимым? No.

Но это все еще не очень хорошая идея.

Вместо рассмотреть что-то вроде этого - это сложнее, но гораздо более надежным:

$(".page-sidebar a").filter(function() { 
    return this.href == window.location.href; 
}).addClass("selected"); 

Причина, скажем, у меня есть эта ссылка:

<a href="/"> 

На этой странице, что будет ссылаться на http://stackoverflow.com/. Но совершенно ясно, что http://stackoverflow.com/ и / совсем не то же самое. Они не будут найдены вашим кодом. Однако мой код использует полностью разрешенные адреса и будет работать.

Смежные вопросы