我的代码是否容易受到XSS攻击?

时间:2014-12-10 10:02:56

标签: javascript jquery html browser xss

我有我的网站https://xx.com/guides

当我扫描我的网站时,我得到了这个:

  

问题详情:应用程序可能容易受到基于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. 我知道DOM xss是可能的

  3. 我需要帮助生成POC!

  4. 完整代码:http://pastebin.com/Bs4vuUH3

2 个答案:

答案 0 :(得分:1)

没有。当您使用外部输入的数据时,您永远不会将其注入DOM。

答案 1 :(得分:0)

考虑到你似乎无法拼写&#34;易受伤害&#34;为了挽救你的生命,这里的答案就像我能做到的一样简单。

您的代码容易受到攻击吗?

但它仍然不是一个好主意。

相反,考虑这样的事情 - 它更复杂,但更可靠:

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

原因是,我们说我有这个链接:

<a href="/">

在此页面上,该链接指向http://stackoverflow.com/。但很明显,http://stackoverflow.com//并不完全相同。您的代码无法找到它们。但是,我的代码使用完全解析的地址并且可以正常工作。