- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了拥有一个 URL 友好的应用程序,我正在存储它的上下文在 URL 中有一个 JSON,它给出类似的东西:
http://mysite.dev/myapppage/target#?context={%22attr1%22%3A{%22target_id-0%22%3A{%22value%22%3A%223%22%2C%22label%22%3A%22Hello%22}}}
编码基本上下文:
{
"attr1":
{
"target_id-0":
{
"value": "3",
"label": "Hello"
}
}
}
我正在序列化我的对象:
JSON.stringify(context)
我正在反序列化它:
var hashParamsElements = window.location.toString().split('?');
hashParamsElements.shift(); // we just skip the first part of the url
var hashParams = $.deparam(hashParamsElements.join('?'));
var contextString = hashParams.context;
var context = JSON.parse(contextString);
上下文仅存储用于读取变量,其中没有计算代码。有人可以告诉我它是否 XSS 安全吗?
如果有威胁:我该如何避免?
最佳答案
这种威胁来自使用不同的解码 JSON 的方法,即 eval
和 new Function
。它们直接执行 JS 代码,因此通过将代码放入 url(并链接到它)来允许非持久性 XSS 攻击。
JSON.parse
没有这个问题,可以安全抵御此类攻击。
关于javascript - 在 URL 中编码 JSON 时是否存在 XSS 威胁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11400990/
过去我们多次收到有关 Java 威胁的警告,我们不得不升级,有时甚至摆脱 Java。 现在我正在考虑为 Android 设备开发,我发现它与 Java 密切相关。 我的问题:Java 威胁对 Andr
当我尝试访问应用程序的某些部分时,我的应用程序显示此错误。此外,当我尝试在 iPhone 6s 模拟器上运行它时,它不会显示此错误,但在所有其他模拟器上都会显示该错误 我使用 Firebase 作为后
来自 OAuth 2.0 Threat Model and Security Considerations draft : 4.4.1.13. Threat: Code substitution (O
我试图证明在 PHP 中准备语句的必要性,但我遇到了一点问题,因为 PHP 使用通过表单传递的字符串做了一些很奇怪的事情。 我试图“打破”的陈述很简单: SELECT username FROM us
我确实计划将数据库从 5.1 版迁移到 5.6 版。我想通过使用 mysqldump 来做到这一点: 将数据从 MySQL DB 5.1 导出(通过 mysqldump)到 sql 文件, 导入(通过
我有目的地(为了测试)在 WebMatrix C# 中分配了以下变量: string val = "alert('XSS Vector')"; 在页面的后面,我使用 razor 将该值直接写入页面。
为了拥有一个 URL 友好的应用程序,我正在存储它的上下文在 URL 中有一个 JSON,它给出类似的东西: http://mysite.dev/myapppage/target#?context={
用户正在向我们的 React 应用程序提供一个字符串,并且它正在显示给其他用户。我想搜索一些字符,并用一些 HTML 替换它们,就像我要搜索“特殊”这个词一样,我会将其变成: My special w
我是一名优秀的程序员,十分优秀!