【问题标题】:How can I use this dom xss?我怎样才能使用这个dom xss?
【发布时间】:2013-05-02 03:57:42
【问题描述】:

在这种情况下:

var count = $(count_el).data("count"); $(target).html("你好"+count);

是不是说只有把url里的data('count')改了才能用这个dom xss?
比如<script>codes</script>等等。

【问题讨论】:

  • 您不能使用 URL 更改 data。设置在JS某处,尝试定位。

标签: javascript xss


【解决方案1】:

jQuery.data 存储元素或对象本身的信息(如果是元素,它首先从data-* 标签中提取数据)。

$el = $("<div data-count='1'></div>")
$el.data('count') // 1
$el.data()        // {"count":1}

但是,如果您担心 XSS 并且您的数据标签中嵌入了某种恶意 HTML,您可以使用 .text() 而不是 .html()

$parent = $("<div></div>");
$child  = $("<div data-count='<script>alert(\"malicious code\");</script>'></div>");
count   = $child.data('count')
$parent.html(count) // this will run the embedded script
$parent.text(count) // this will not

【讨论】:

  • 我知道如何预防,我只是好奇在这种情况下如何创建一个简单的XSS攻击
  • 我不确定您在寻找什么,您在哪里阅读或看到.data() 与 URL 相关?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2014-01-05
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多