Questions tagged «security»

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

11
X框架选项允许来自多个域
我有一个ASP.NET 4.0 IIS7.5站点,需要使用X-Frame-Options标头对其进行保护。 我还需要启用来自同一个域以及我的facebook应用程序的网站页面。 目前,我的网站配置有以下网站: Response.Headers.Add("X-Frame-Options", "ALLOW-FROM SAMEDOMAIN, www.facebook.com/MyFBSite") 当我使用Chrome或Firefox查看我的Facebook页面时,我的网站页面(与我的Facebook页面进行了iframed)显示正常,但是在IE9下,出现错误: “由于X-Frame_Options限制,无法显示此页面…” 。 如何设置X-Frame-Options: ALLOW-FROM来支持多个域? X-FRAME-OPTION 如果只能定义一个域,则将其作为新功能从根本上来说是有缺陷的。

4
JWT应该存储在localStorage还是cookie中?[重复]
这个问题已经在这里有了答案: 在浏览器中的何处存储JWT?如何防范CSRF? (5个答案) 2个月前关闭。 为了使用JWT保护REST API,根据某些资料(如本指南和此问题),JWT可以存储在任一localStorage中或Cookies中。根据我的理解: localStorage受XSS限制,通常不建议在其中存储任何敏感信息。 用 Cookie,我们可以应用标志“ httpOnly”,以减轻XSS的风险。但是,如果我们要从后端的Cookies中读取JWT,则需要接受CSRF。 因此,基于以上前提,最好将JWT存储在Cookies中。在对服务器的每个请求中,都将使用Cookie方案从Cookie中读取JWT并将其添加到Authorization标头中。然后,服务器可以验证请求标头中的JWT(与从Cookie中读取JWT相反)。 我的理解正确吗?如果是这样,上述方法是否涉及安全性?还是实际上我们可以首先使用localStorage逃脱?

11
如何创建Laravel哈希密码
我正在尝试为Laravel创建哈希密码。现在有人告诉我使用Laravel哈希帮助器,但我似乎找不到它,或者我的方向错误。 如何创建laravel哈希密码?在哪 编辑:我知道代码是什么,但我不知道在哪里以及如何使用它,因此它给了我哈希密码。如果得到哈希密码,则可以手动将其插入数据库

17
身份验证和授权之间有区别吗?
我看到这两个词有很多不同之处(特别是在基于Web的场景中,但我认为它不仅限于此),我想知道是否存在区别。 在我看来,这两者都意味着您可以做自己正在做的事情。那么,这仅仅是一个术语,还是含义上的根本区别?
97 security 

2
哪些$ _SERVER变量是安全的?
用户可以控制的任何变量,攻击者也可以控制,因此是攻击的源头。这称为“污染”变量,并且不安全。 使用时$_SERVER,可以控制许多变量。PHP_SELF,HTTP_USER_AGENT,HTTP_X_FORWARDED_FOR,HTTP_ACCEPT_LANGUAGE和许多其它的是由客户端发送的HTTP请求报头的一部分。 有人知道“安全列表”或$_SERVER变量列表吗?
97 php  security 

3
如何使用PHP正确添加跨站点请求伪造(CSRF)令牌
我正在尝试为我的网站上的表单添加一些安全性。一种形式是使用AJAX,另一种形式是简单的“与我们联系”形式。我正在尝试添加CSRF令牌。我遇到的问题是令牌有时仅在HTML“值”中显示。其余时间,该值为空。这是我在AJAX表单上使用的代码: PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } 的HTML <form> //... <input type="hidden" name="token" value="<?php echo $token; ?>" /> //... </form> 有什么建议?
96 php  security  session  csrf 

3
Python 3.3中的哈希函数在会话之间返回不同的结果
我已经在python 3.3中实现了BloomFilter,并且每次会话都得到不同的结果。深入研究这种奇怪的行为,使我进入了内部hash()函数-它在每个会话中为同一字符串返回不同的哈希值。 例: >>> hash("235") -310569535015251310 -----打开一个新的python控制台----- >>> hash("235") -1900164331622581997 为什么会这样呢?为什么这有用?

8
我需要在Python中安全地存储用户名和密码,我有哪些选择?
我正在编写一个小的Python脚本,该脚本将使用用户名和密码组合定期从第三方服务中获取信息。我不需要创建100%防弹的东西(甚至存在100%的东西吗?),但是我想采用一种很好的安全措施,因此至少有人要花很长时间才能破解它。 该脚本没有GUI,将由定期运行cron,因此每次运行解密内容时都不会真正输入密码,因此我必须将用户名和密码存储在加密文件或加密文件中在SQLite数据库中,这将是更好的选择,因为无论如何我都将使用SQLite,并且可能需要在某个时候编辑密码。另外,我可能会将整个程序包装在EXE中,因为这时它仅适用于Windows。 如何安全地存储通过cron作业定期使用的用户名和密码组合?

3
OAuth 2.0中的客户端机密
要使用Google Drive API,我必须使用OAuth2.0进行身份验证。我对此有一些疑问。 客户端ID和客户端机密用于识别我的应用程序。但是,如果是客户端应用程序,则必须对其进行硬编码。因此,每个人都可以反编译我的应用程序并从源代码中提取它们。这是否意味着坏应用程序可以使用好应用程序的客户端ID和机密假装成好应用程序?因此,即使实际上是由不良应用程序提出的请求,用户也会显示一个屏幕,要求授予对良好应用程序的许可?如果是,该怎么办?还是实际上我不应该为此担心? 在移动应用程序中,我们可以将Webview嵌入到我们的应用程序中。而且很容易提取Web视图中的密码字段,因为要求许可的应用程序实际上是“浏览器”。那么,移动应用程序中的OAuth是否没有客户端应用程序无法访问服务提供商的用户凭证的好处?

2
JPEG的Death漏洞如何运作?
我一直在阅读有关Windows XP和Windows Server 2003上针对GDI +的较旧漏洞利用的信息,称其为我正在从事的项目的JPEG死亡。 该漏洞在以下链接中有很好的解释:http : //www.infosecwriters.com/text_resources/pdf/JPEG.pdf 基本上,JPEG文件包含一个称为COM的节,其中包含一个(可能为空)注释字段,以及一个两个字节的值,其中包含COM的大小。如果没有注释,则大小为2。读取器(GDI +)读取大小,将其减去2,然后分配适当大小的缓冲区以将注释复制到堆中。攻击涉及0在字段中放置值。GDI +减去2,导致一个值-2 (0xFFFe),其被转化成无符号整数0XFFFFFFFE的memcpy。 样例代码: unsigned int size; size = len - 2; char *comment = (char *)malloc(size + 1); memcpy(comment, src, size); 观察到malloc(0)第三行应该返回一个指向堆上未分配内存的指针。如何写入0XFFFFFFFE字节(4GB!!!!)可能不会使程序崩溃?这是否会超出堆区域并写入其他程序和OS的空间?那会发生什么呢? 据我了解memcpy,它只是将n字符从目标复制到源。在这种情况下,源应该在堆栈上,目标应该在堆上,并且n是4GB。
94 c++  security  memcpy  malware 

5
生成随机令牌以忘记密码的最佳实践
我想生成忘记密码的标识符。我读到我可以通过将时间戳与mt_rand()一起使用来做到这一点,但有人说时间戳记并非每次都唯一。所以我有点困惑。我可以在此使用时间戳吗? 问题 生成自定义长度的随机/唯一令牌的最佳实践是什么? 我知道这里有很多问题,但是在听取了不同人的不同意见后,我变得更加困惑。

4
运行“ sudo pip”有什么风险?
有时,我会遇到一些评论或回应,它们强调说pip在sudo“错误”或“不良”情况下运行,但在某些情况下(包括我设置了一堆工具的方式),情况可能要简单得多,甚至有必要这样运行。 什么是与运行相关的风险pip下sudo? 请注意,这个问题与这个问题不同,尽管有标题,但没有提供有关风险的信息。这也不是关于如何避免使用的问题sudo,而是关于为什么要使用的问题。
94 python  security  pip  sudo 

2
SSL错误:无法获取本地发行者证书
我在Debian 6.0 32位服务器上配置SSL时遇到问题。我使用SSL相对较新,因此请多多包涵。我会提供尽可能多的信息。 注意:真实域名已更改,以保护服务器的身份和完整性。 组态 服务器正在使用nginx运行。它的配置如下: ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt; ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_verify_depth 2; 我使用这里描述的方法链接了证书 cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt mysite.ca.crt签名机构给我的证书在哪里,签名人机构bundle.crt也发送给我的CA证书是。问题是我没有直接从GlobalSign购买SSL证书,而是通过托管服务提供商Singlehop购买了SSL证书。 测试中 该证书可以在Safari和Chrome上正确验证,但不能在Firefox上有效。初步搜索显示,CA可能存在问题。 我探索了类似问题的答案,但是由于我不太了解每种证书的用途,因此无法找到解决方案。 我使用openssl的s_client测试连接,并接收到输出,该输出似乎表明与类似问题相同。错误如下: depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify error:num=27:certificate not …


5
为什么要使用API​​密钥和机密?
我遇到了许多API,这些API为用户提供了API密钥和秘密。但是我的问题是:两者之间有什么区别? 在我眼中,一把钥匙就足够了。说我有一把钥匙,只有我和服务器知道。我使用此密钥创建HMAC哈希并进行API调用。在服务器上,我们再次创建HMAC哈希并将其与发送的哈希进行比较。如果相同,则对呼叫进行身份验证。 那么为什么要使用两个键呢? 编辑:还是该API密钥用于查找API机密?

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.