在我的示例fiddle中,option.text()易受xs攻击
option.text() is vulnerable to xss in my example fiddle
为什么我在中收到警报框
$(function() {
$('#users').each(function() {
var select = $(this);
var option = select.children('option').first();
select.after(option.text());
select.hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="users" name="users">
<option value="bad"><script>alert('xss');</script></option>
</select>
尽管我在选项文本中有编码版本(<script>alert('xss');</script>)
??
我试图阻止显示警报,因为我在选项文本中编码了html。有人能告诉我我缺了什么吗?
https://jsfiddle.net/hf1fbhmg/
我已经在选项文本中编码了html。
这并不重要,因为您正在获得它的文本表示(使用text()
)。(即使您得到的是HTML表示,浏览器如何将DOM中的文本转换回HTML的规则也可能会给您带来意想不到的结果)。
然后使用select.after(that_text);
。如果您将一个看起来像HTML的字符串(您就是)传递给after
,那么jQuery将把它视为HTML。您需要明确地将其视为文本。
例如:
select.after(
jQuery("<span />").text(that_text)
);
相关文章:
- 如何将输入(type=text)从html表单传递到javascript函数
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 在文本区域中使用jQuery.text()保持换行符
- 用Javascript添加带有#text的tr元素
- 当用户按下回车键时,自动在text区域/text中插入消息
- 修正案'text'的元素
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中
- Javascript:'受保护'范围界定
- 我如何在INPUT TEXT中使用这个Javascript和jQuery
- 域特定cookie是否易受CSRF攻击
- 在我的示例fiddle中,option.text()易受xs攻击
- 文档易受攻击是做什么的
- 我的PHP代码易受XSS攻击吗
- 这对XSS来说是易受攻击的吗
- 这种杀菌剂易受XSS攻击吗?
- 这些html标签和属性会使我的网站易受攻击吗?
- 创建易受XSS攻击的网页
- 是php's json_encode()在嵌入脚本元素时易受攻击
- window.location=window.location易受XSS影响