当前位置: 首页 > 面试题库 >

将JsonRequestBehavior设置为AllowGet时,可能会公开哪些“敏感信息”

田志尚
2023-03-14
问题内容

每次(使用内置)URL从浏览器的地址栏中测试新内容时,我都会遇到相同的旧错误:returning Json``MVC JsonResult helper

此请求已被阻止,因为当在.NET中使用敏感信息时,敏感信息可能会泄露给第三方网站GET request。要允许GET requests,请设置JsonRequestBehaviorAllowGet

这次,我没有为确认而烦恼并解雇Fiddler来执行发布请求,而是想知道一个GET请求暴露了一个POST请求没有暴露的确切含义是什么?


问题答案:

假设您的网站具有GetUser网络方法:

http://www.example.com/User/GetUser/32

返回JSON响应:

{ "Name": "John Doe" }

如果此方法仅接受POST请求,则仅当http://www.example.com/User/GetUser/32使用POST方法发出AJAX请求时,内容才会返回到浏览器。请注意,除非您实施了CORS,否则浏览器将保护数据免受来自其他域的请求。

但是,如果您允许GET请求,然后再使用GET而不是POST发出与上述类似的AJAX请求,则恶意用户可以通过使用scriptHTML中的标记将JSON包含在其自己的站点上下文中。例如www.evil.com

<script src="html" target="_blank">http://www.example.com/User/GetUser/32"></script>

此JavaScript应该没有用,www.evil.com因为应该没有办法读取Web方法返回的对象。但是,由于旧版本浏览器(例如Firefox
3)中的错误,可能会重新定义JavaScript原型对象,并有可能www.evil.com读取方法返回的数据。这称为JSON劫持。

有关防止这种情况的一些方法,请参见这篇文章。但是,现代浏览器的更高版本(Firefox,Chrome,IE)不是已知问题。



 类似资料:
  • 注意:“敏感词过滤”功能需在“应用防护管理”中开启对应的防护(Web防护/Nginx自编译/RASP)才可使用。 “敏感词过滤”是指对互联网发布的言论和文章中含有的敏感词进行过滤。敏感词经过在互联网的传播和扩散会影响社会的稳定和用户的使用。网防G01的“敏感词过滤”功能可以对用户post请求的内容阻止并提示,而get请求的内容则使用“*”号替代敏感词。如果网站开启GZIP时,敏感词过滤则不生效。

  • 如果客户端将JSSE.EnableSniExtension系统属性设置为false,那么它会暴露哪些安全风险? PS:我们试图通过HTTPS连接的所有URL。所以,会有证书验证。

  • 主要内容:1.引入包,2.配置加密、解密的密码,3.测试用例中生成加密后的秘钥,4.将加密后的字符串替换原明文,5.部署时配置 salt(盐)值MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。 1.引入包 2.配置加密、解密的密码 3.测试用例中生成加密后的秘钥 4.将加密后的字符串替换原明文 5.部署时配置 salt(盐)值 为了防止 salt(盐)泄露被反解出密码,可以在项目部署的时候使用命令传入 salt 值:

  • 主要内容:1.引入包,2.配置加密、解密的密码,3.测试用例中生成加密后的秘钥,4.将加密后的字符串替换原明文,5.部署时配置 salt(盐)值MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。 1.引入包 2.配置加密、解密的密码 3.测试用例中生成加密后的秘钥 4.将加密后的字符串替换原明文 5.部署时配置 salt(盐)值 为了防止 salt(盐)泄露被反解出密码,可以在项目部署的时候使用命令传入 salt 值:

  • 本文向大家介绍cookie有哪些字段可以设置相关面试题,主要包含被问及cookie有哪些字段可以设置时的应答技巧和注意事项,需要的朋友参考一下 参考回答: name字段为一个cookie的名称。 value字段为一个cookie的值。 domain字段为可以访问此cookie的域名。 非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不

  • 问题内容: 我需要在内存中短时间存储用户密码。我该怎么做却又不会在核心转储或回溯中意外泄露此类信息?有没有一种方法可以将值标记为“敏感”,因此调试器不会将其保存在任何地方? 问题答案: 编辑 我已经提出了使用ctypes(反过来使用C)零内存的解决方案。 我不保证此代码的安全性。经过测试可在x86和CPython 2.6.2上运行。更长的文章在这里。 在Python中解密和加密将无法进行。字符串和