Questions tagged «security»

与应用程序安全性和对软件的攻击有关的主题。请不要单独使用此标签,否则会造成歧义。如果您的问题与特定的编程问题无关,请考虑改为在Information Security SE上提问:https://security.stackexchange.com

14
为什么有人会省略关闭标签?
我一直在阅读?>,在文件末尾使用PHP close标签是一种不好的做法。标头问题在以下情况下似乎无关紧要(这是迄今为止唯一的好参数): 现代版本的PHP在php.ini中设置了output_buffering标志。如果启用了输出缓冲,则可以在输出HTML之后设置HTTP标头和cookie,因为返回的代码不会立即发送到浏览器。 每本优秀实践书籍和Wiki均以该“规则”开头,但没有人提供充分的理由。 是否还有另一个很好的理由跳过结尾的PHP标记?

15
如何从证书和私钥创建.pfx文件?
我需要.pfx文件才能在IIS的网站上安装https。 我有两个单独的文件:证书(.cer或pem)和私钥(.crt),但是IIS仅接受.pfx文件。 我显然安装了证书,并且可以在证书管理器(mmc)中使用它,但是当我选择“证书导出向导”时,我无法选择PFX格式(显示为灰色) 是否有任何工具可以做到这一点,或者有C#示例以编程方式做到这一点?

10
如何生成软件许可证密钥?
许可证密钥是事实上的标准,可作为反盗版措施。坦白地说,这让我感到“ 通过隐秘获得安全性”,尽管我真的不知道如何生成许可证密钥。许可证密钥生成的一个好(安全)示例是什么?他们使用什么加密原语(如果有)?它是消息摘要吗?如果是这样,它们将对哪些数据进行哈希处理?开发人员采用什么方法使破解者难以构建自己的密钥生成器?密钥生成器是如何制成的?


11
使用openssl从服务器获取证书
我正在尝试获取远程服务器的证书,然后可以将其用于添加到我的密钥库中并在我的Java应用程序中使用。 一位资深开发人员(正在度假:()告诉我可以运行此程序: openssl s_client -connect host.host:9999 为了获得原始证书,我可以将其复制并导出。我收到以下输出: depth=1 /C=NZ/ST=Test State or Province/O=Organization Name/OU=Organizational Unit Name/CN=Test CA verify error:num=19:self signed certificate in certificate chain verify return:0 23177:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40 23177:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188: 我也尝试过这个选项 -showcerts 和这个(在debian上运行) -CApath /etc/ssl/certs/ 但是得到同样的错误。 此消息源说我可以使用该CApath标志,但似乎无济于事。我尝试了多条路径都无济于事。 请让我知道我要去哪里了。

14
为什么我突然在Firefox中出现“阻止加载混合的活动内容”的问题?
今天早上,将Firefox浏览器升级到最新版本(从22升级到23)后,我的后台(网站)的某些关键方面停止工作。 查看Firebug日志,报告了以下错误: Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"` 以及由于上述两个中的后者未加载而导致的其他错误。 以上是什么意思,我该如何解决?

30
PreparedStatement IN子句替代项?
结合使用SQL IN子句和实例的最佳解决方法java.sql.PreparedStatement是什么,由于SQL注入攻击安全性问题,多个值不支持该子句:一个?占位符代表一个值,而不是值列表。 考虑以下SQL语句: SELECT my_column FROM my_table where search_column IN (?) 使用preparedStatement.setString( 1, "'A', 'B', 'C'" );本质上是一种不可行的尝试,它是首先解决使用原因的方法?。 有哪些解决方法?

30
实用的非基于图像的CAPTCHA方法?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 看起来我们将在堆栈溢出中添加CAPTCHA支持。这对于防止漫游器,垃圾邮件发送者和其他恶意脚本活动是必要的。我们只希望人类在此处发布或编辑内容! 我们将使用JavaScript(jQuery)CAPTCHA作为第一道防线: http://docs.jquery.com/教程:Safer_Contact_Forms_Without_CAPTCHAs 这种方法的优点是,对于大多数人来说,CAPTCHA将永远不可见! 但是,对于禁用了JavaScript的人,我们仍然需要一个后备设备,这很棘手。 我已经为ASP.NET编写了一个传统的CAPTCHA控件,可以重复使用。 但是,我宁愿使用一些文本文件,以避免每次请求在服务器上创建所有这些图像的开销。 我看过类似的东西 ASCII文本验证码: \/\/(_)\/\/ 数学难题:7减去3乘2是什么? 琐事问题:蟾蜍还是冰棒,哪个口味更好? 也许我只是在这里倾斜风车,但<noscript>如果可能的话,我希望有一个资源密集型,基于非图像的兼容验证码。 有想法吗?

3
SPA认证和会话管理最佳实践
使用Angular,Ember,React等框架构建SPA风格的应用程序时,人们认为什么是身份验证和会话管理的最佳实践?我可以考虑考虑解决该问题的几种方法。 假定API和UI具有相同的原始域,则对待它与使用常规Web应用程序进行身份验证没有区别。 这可能涉及到具有会话cookie,服务器端会话存储以及可能经过身份验证的Web UI可以访问以获取当前用户信息以帮助进行个性化甚至可能确定客户端角色/功能的某些会话API端点。服务器当然仍然会执行保护访问数据的规则,UI只会使用此信息来定制体验。 像使用公共API的任何第三方客户端一样对待它,并使用类似于OAuth的某种令牌系统进行身份验证。客户端UI将使用此令牌机制来验证对服务器API的每个请求。 我在这里并不是真正的专家,但是对于大多数情况来说,#1似乎已经足够了,但是我真的很想听听一些更有经验的意见。

7
如果您可以解码JWT,它们如何安全?
如果获得JWT并且可以解码有效负载,那么这种安全性如何?我不能只是从标头中提取令牌,解码并更改有效负载中的用户信息,然后使用相同的正确编码机密将其发送回去吗? 我知道它们必须是安全的,但是我真的很想了解这些技术。我想念什么?


16
“双哈希”密码是否比仅哈希一次密码安全性低?
与仅对一次哈希进行哈希处理相比,对密码进行两次哈希存储之前或多或少的安全性高吗? 我在说的是这样做: $hashed_password = hash(hash($plaintext_password)); 不仅仅是这样: $hashed_password = hash($plaintext_password); 如果它的安全性较差,您能提供一个很好的解释(或一个链接)吗? 另外,使用的哈希函数是否有所不同?如果混合使用md5和sha1(例如)而不是重复相同的哈希函数,会有什么区别吗? 注意1:当我说“双重哈希”时,我说的是两次对密码进行哈希处理,以使密码更加模糊。我不是在谈论解决冲突的技术。 注意2:我知道我需要添加随机盐以确保其安全。问题是,使用相同算法进行两次哈希处理是否有助于或损害哈希。

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 

27
GET或POST是否比另一种安全?
将HTTP GET与HTTP POST进行比较时,从安全角度来看有什么区别?这些选择中的一种在本质上比另一种更安全吗?如果是这样,为什么? 我意识到POST不会在URL上公开信息,但是其中有任何真正的价值还是仅仅是通过隐蔽性实现安全性?当出于安全考虑时,是否有理由我应该选择POST? 编辑: 通过HTTPS,对POST数据进行了编码,但是URL是否可以被第三方监听?另外,我正在处理JSP;当使用JSP或类似框架时,可以公平地说,最佳实践是避免将敏感数据完全放在POST或GET中,而使用服务器端代码来处理敏感信息吗?
282 html  security  http 


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.