Questions tagged «owasp»

5
什么是“ X-Content-Type-Options = nosniff”?
我正在使用OWASP ZAP在我的本地主机上进行一些渗透测试,并且不断报告此消息: Anti-MIME-Sniffing标头X-Content-Type-Options未设置为'nosniff' 此检查特定于Internet Explorer 8和Google Chrome。如果Content-Type标头未知,请确保每个页面都设置了Content-Type标头和X-CONTENT-TYPE-OPTIONS 我不知道这意味着什么,而且我在网上找不到任何东西。我尝试添加: <meta content="text/html; charset=UTF-8; X-Content-Type-Options=nosniff" http-equiv="Content-Type" /> 但是我仍然收到警报。 设置参数的正确方法是什么?

4
将CSRF预防令牌放在cookie中为什么很常见?
我正在尝试了解CSRF的整个问题以及适当的预防方法。(我已阅读,理解并同意的资源:OWASP CSRF预防速查表,关于CSRF的问题。) 据我了解,CSRF周围的漏洞是由以下假设引入的:从Web服务器的角度来看,传入HTTP请求中的有效会话cookie反映了经过身份验证的用户的意愿。但是,源域的所有cookie都被浏览器神奇地附加到了请求上,因此,实际上服务器可以从请求中是否存在有效的会话cookie推断出,该请求来自具有经过身份验证的会话的浏览器。它无法进一步假设有关代码的任何信息在该浏览器中运行,或者是否确实反映了用户的意愿。防止这种情况的方法是在请求中包括其他身份验证信息(“ CSRF令牌”),该信息由浏览器的自动cookie处理以外的其他方式携带。松散地说,会话cookie对用户/浏览器进行身份验证,而CSRF令牌对在浏览器中运行的代码进行身份验证。 简而言之,如果您使用会话cookie来验证Web应用程序的用户,则还应该向每个响应中添加CSRF令牌,并在每个(变异)请求中要求匹配的CSRF令牌。然后,CSRF令牌从服务器到浏览器再返回到服务器,以向服务器证明发出请求的页面已被该服务器批准(由该服务器生成,甚至由该服务器生成)。 关于我的问题,这是关于该往返行程中用于该CSRF令牌的特定传输方法。 似乎很常见(例如在AngularJS,Django,Rails中),将CSRF令牌作为cookie从服务器发送到客户端(即在Set-Cookie标头中),然后让客户端中的Javascript将其从cookie中刮出并附加它作为单独的XSRF-TOKEN标头发送回服务器。 (另一种方法是Express推荐的方法,其中服务器生成的CSRF令牌通过服务器端模板扩展包含在响应主体中,并直接附加到将其提供回服务器的代码/标记中,例如作为隐藏的表单输入。该示例是一种更像Web 1.0的工作方式,但可以推广到使用更多JS的客户端。) 为什么使用Set-Cookie作为CSRF令牌的下游传输如此普遍/为什么这是个好主意?我想所有这些框架的作者都仔细考虑了他们的选择,并没有弄错这一点。但乍看之下,使用cookie来解决cookie的本质设计限制似乎很愚蠢。实际上,如果您使用cookie作为往返传输(服务器的Set-Cookie:下游标头告诉浏览器CSRF令牌,浏览器的cookie:上游标头将浏览器返回给服务器),则会重新引入此漏洞正在尝试修复。 我意识到上述框架并未在CSRF令牌的整个往返过程中使用cookie;他们在下游使用Set-Cookie,然后在上游使用其他内容(例如X-CSRF-Token标头),这确实消除了该漏洞。但是,即使使用Set-Cookie作为下游运输工具,也可能会产生误导和危险;浏览器现在将CSRF令牌附加到每个请求,包括真正的恶意XSRF请求;最好的情况是使请求大于所需的大小,最坏的情况是一些善意却被误导的服务器代码实际上可能会尝试使用它,这确实很糟糕。而且,由于CSRF令牌的实际预期接收者是客户端Javascript,这意味着该cookie不能仅通过http保护。
283 security  cookies  web  csrf  owasp 

9
PHP $ _SERVER ['HTTP_HOST'] vs. $ _SERVER ['SERVER_NAME'],我是否正确理解手册页?
我做了很多搜索,还阅读了PHP $ _SERVER文档。对于在整个站点中使用的简单链接定义的PHP脚本,我是否有权使用该脚本? $_SERVER['SERVER_NAME'] 基于您的Web服务器的配置文件(在我的情况下为Apache2),并根据以下指令而有所不同:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等。 $_SERVER['HTTP_HOST'] 基于客户端的请求。 因此,在我看来,为了使我的脚本尽可能兼容而使用的适当的脚本将是$_SERVER['HTTP_HOST']。这个假设正确吗? 后续评论: 我想我在读完这篇文章并注意到有些人说“他们不会信任任何一个$_SERVER变量” 后,我有点偏执: http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/ http://php.net/manual/zh-CN/reserved.variables.server.php#89567(评论:弗拉基米尔·科尼亚(Vladimir Kornea)2009年3月14日01:06) 显然,这里的讨论主要是关于$_SERVER['PHP_SELF']为什么不适当地转义以防止XSS攻击就不应该在form action属性中使用它的原因。 我对上述原始问题的结论是$_SERVER['HTTP_HOST'],即使在表单中使用XSS攻击,也不必担心XSS攻击是安全的。 如果我错了,请纠正我。
167 php  apache  security  owasp 

6
是否可以将本地存储视为安全的?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我需要开发一个可长期离线运行的Web应用程序。为了使它可行,我无法避免将敏感数据(个人数据,而不是您将仅存储散列数据的类型)保存在本地存储中。 我接受不推荐这样做,但是我几乎没有选择要执行以下操作来保护数据: 使用斯坦福javascript密码库和AES-256将所有内容都加密到本地存储中 用户密码是加密密钥,未存储在设备上 通过ssl从单个受信任的服务器提供所有内容(在线时) 使用owasp antisamy项目验证往返服务器本地存储的所有数据 在应用程序缓存的网络部分中,不使用*,而是仅列出与受信任服务器连接所需的URI 通常尝试应用OWASP XSS速查表中建议的准则 我很欣赏魔鬼在细节上的细节,并且知道人们对本地存储和基于JavaScript的安全性普遍持怀疑态度。任何人都可以评论是否存在: 上述方法的根本缺陷? 有什么可能的解决方案来解决此类缺陷? html 5应用程序必须长时间离线运行时,还有什么更好的方法来保护本地存储? 谢谢你的帮助。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.