Questions tagged «security»

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

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

3
在浏览器中的何处存储JWT?如何防范CSRF?
我知道基于cookie的身份验证。SSL和HttpOnly标志可以应用于保护来自MITM和XSS的基于cookie的身份验证。但是,将需要采取更多特殊措施来保护它免受CSRF的侵害。它们只是有点复杂。(参考) 最近,我发现JSON Web令牌(JWT)作为身份验证的解决方案非常热门。我知道有关编码,解码和验证JWT的知识。但是,我不明白为什么某些网站/教程告诉您使用JWT不需要CSRF保护。我已经阅读了很多,并尝试总结以下问题。我只希望有人可以提供JWT的概况,并阐明我对JWT误解的概念。 如果JWT存储在cookie中,则我认为它与基于cookie的身份验证相同,除了服务器不需要会话来验证cookie /令牌。如果不采取特殊措施,CSRF仍有风险。JWT是否存储在cookie中? 如果JWT存储在localStorage / sessionStorage中,则没有cookie,因此不需要防御CRSF。问题是如何将JWT发送到服务器。我在这里发现建议使用jQuery通过Ajax请求的HTTP标头发送JWT。那么,只有ajax请求可以进行身份​​验证吗? 此外,我还发现了另一个博客节目,使用“ Authorization标头”和“ Bearer”发送JWT。我不了解博客谈论的方法。有人可以解释一下“授权标头”和“承载者”吗?这是否会使通过所有请求的HTTP标头传输的JWT?如果是,CSRF怎么样?

3
Django设置“ SECRET_KEY”的目的
SECRET_KEYdjango 的意义到底是什么?我做了一些Google搜索,并检查了文档(https://docs.djangoproject.com/en/dev/ref/settings/#secret-key),但是我正在寻找对此的更深入的说明,以及为什么需要它。 例如,如果密钥被泄露/其他人知道密钥是什么,会发生什么?谢谢。

9
在Visual Studio中,App_Data文件夹有什么用?
在Visual Studio中创建新的ASP.NET应用程序时,会自动创建几个文件和文件夹。这些文件夹之一称为App_Data。 同样,通过选择菜单选项发布网站时,也可以Build->Publish使用复选框Include files from the App_Data folder。 我是否可以假设不能通过网络访问此文件及其子文件夹中的文件?例如,将只打算由应用程序代码使用的文件夹资源放入该文件夹中是否安全? 该App_Data文件夹的实际用途是什么? 编辑: 感谢您的所有答案。从到目前为止收到的答案中,我主要对两点感兴趣: App_Data本质上是基于文件的数据存储的存储点 它不应该在网络上可见,它是网络应用存储和读取数据的地方 有人可以指定如何确保“无法通过网络查看”吗?执行标准部署时,我可以依靠这一事实吗?还是需要检查服务器上的某些IIS设置? 在我有一组pdf文件的情况下,我只能从应用程序访问。是要使用App_Data文件夹的正确位置,还是应该创建一个单独的文件夹并手动设置IIS以确保Web不能访问它?

11
如何将SecureString转换为System.String?
除了通过创建System.String来保护SecureString的不安全之外,还有其他保留意见,该怎么做? 如何将普通的System.Security.SecureString转换为System.String? 我敢肯定,许多熟悉SecureString的人都会做出回应,那就是永远不要将SecureString转换为普通的.NET字符串,因为它会删除所有安全保护措施。 我知道。但是现在,我的程序无论如何都使用普通字符串完成所有操作,并且我试图提高其安全性,尽管我将使用向我返回SecureString的API,但我并没有尝试使用它来提高安全性。 我知道Marshal.SecureStringToBSTR,但是我不知道如何获取该BSTR并从中创建System.String。 对于那些可能想知道我为什么要这样做的人,我从用户处获取密码,并将其以html表单POST的形式提交,以将用户登录到网站。所以...这实际上必须使用托管的未加密缓冲区来完成。如果我什至可以访问非托管,未加密的缓冲区,我想我可以在网络流上逐字节写入流,并希望这样可以使密码始终保持安全。我希望至少对这些情况中的一种有一个答案。
156 c#  .net  security  encryption 

5
将.pfx转换为.cer
是否可以将.pfx(个人信息交换)文件转换为.cer(安全证书)文件?除非我没有记错,否则.cer是否会以某种方式嵌入.pfx中?如果可能的话,我想以某种方式提取它。

1
JACC提供程序如何使用其所部署服务器的主体到角色映射功能?
我正在写一个JACC提供程序。 在此过程中,这意味着实施PolicyConfiguration。 的PolicyConfiguration是负责从应用服务器,接受配置信息,如哪些权限累积到哪些角色。这样一来,Policy以后的用户就可以在获得有关当前用户的信息时做出授权决定及其所要执行的操作的。 但是,PolicyConfiguration维护角色及其权限之间的映射不是(残暴的)合同的一部分,并且Principals分配给这些角色。 通常-总是-确实-应用服务器包含此映射。例如,Glassfish上,您会影响通过提供这样的事情映射sun-web.xml并sun-ejb-jar.xml与您的Java EE模块等。(这些特定于供应商的文件负责说明,例如,superusers是要为其分配应用程序角色的组admins。) 我想重复使用这些文件提供的功能,并且希望对尽可能多的应用程序服务器重复使用。 这是(完全任意地)IBM对此事的看法,这似乎证实了我的怀疑,即我想做的事基本上是不可能的。(就我的情况而言,更多的弹药是该特定的Java EE合同不值得在其上打印纸张。) 我的问题是:如何从一个入门者的眼镜鱼和JBoss中获得此主体到角色映射的信息PolicyConfiguration?如果有我不知道的标准方法,我会不知所措。

13
非加密用途的最快哈希?
我本质上是在准备要放入数据库的短语,它们可能格式错误,所以我想存储它们的短哈希值(我将简单比较它们是否存在,因此哈希值是理想的)。 我认为MD5在处理100,000多个请求时相当慢,因此我想知道什么是对短语进行哈希处理的最佳方法,也许是推出自己的哈希函数还是hash('md4', '...'最终使用速度更快? 我知道MySQL具有MD5(),因此可以补充查询端的速度,但也许MySQL中还有一个更快的哈希函数,我不知道该函数是否适用于PHP。
154 php  database  security  hash 

10
实施“忘记密码”的最佳方法?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在寻找实现“忘记密码”功能的最佳方法。 我提出了两个想法: 当用户单击“忘记密码”时,要求用户键入用户名,电子邮件,并可能输入出生日期或姓氏。然后,带有临时密码的邮件将被发送到用户的电子邮件帐户。用户使用临时密码登录并重置密码。 与之类似,但电子邮件中将包含一个链接,以使用户重设密码。 还是有人可以建议我一种更好,更安全的方法?我也在考虑发送临时密码或链接,强制用户在24小时内重设密码,否则临时密码或链接将无法使用。怎么做?

16
最好的分布式暴力破解对策是什么?
首先,有一点背景知识:我正在为CodeIgniter实现auth + auth系统,这并不是什么秘密,到目前为止,我已经赢了(可以这么说)。但是我遇到了一个非常艰巨的挑战(大多数身份验证库都完全忽略了这一挑战,但是我坚持要正确处理):如何智能地应对大规模,分布式,可变用户名的暴力攻击。 我知道所有常用的技巧: 限制每个IP /主机尝试失败的次数,并拒绝违规者访问(例如Fail2Ban)- 由于僵尸网络变得越来越聪明,这种访问不再有效 将上述内容与已知的“不良” IP /主机(例如DenyHosts)的黑名单相结合-依赖于僵尸网络排名第一的僵尸网络,它们越来越不会 IP /主机白名单与传统身份验证结合在一起(对于动态IP用户和大多数网站上的用户流失率非常低) 在整个N分钟/小时的时间内对失败尝试的次数设置站点范围的限制,并在此之后的几分钟/小时内限制(挂起)所有登录尝试(问题是DoS攻击您成为僵尸网络的玩法) 强制性数字签名(公钥证书)或RSA硬件令牌,适用于所有没有登录/密码选项的用户(毫无疑问是坚如磐石的解决方案,但仅适用于封闭的专用服务) 强制执行超强密码方案(例如,> 25个带有符号的废话字符-再次对临时用户来说太不切实际) 最后,CAPTCHA(在大多数情况下都可以使用,但是使用户烦恼,并且对于坚定的,足智多谋的攻击者几乎毫无用处) 现在,这些只是理论上可行的想法。有很多垃圾想法使站点大开眼界(例如,对琐碎的DoS攻击)。我想要的是更好的东西。更好的是,我的意思是: 它必须具有抵御DoS和暴力攻击的安全性(+),并且不得引入任何新的漏洞,而该漏洞可能会使稍稍偷偷摸摸的bot继续在雷达下运行 它必须是自动化的。如果它需要人工来验证每个登录名或监视可疑活动,那么它将无法在实际情况下工作 它对于主流Web使用必须是可行的(例如,非程序员可以进行的高流失,高流量和开放式注册) 它不会将用户体验阻止到使临时用户感到烦恼或沮丧(并有可能放弃该网站)的程度 除非小猫真的很安全,否则它不能涉及小猫 (+)“安全”是指至少与偏执狂用户对密码保密的能力一样安全 所以-让我们听听吧!你会怎么做?您知道我没有提到的最佳做法吗(哦,请说您同意)?我承认我确实有自己的想法(结合3和4的想法),但是在让自己尴尬之前,我会让真正的专家讲话;-)

5
此复选框recapcha的工作方式以及如何使用?
我最近注册了oneplusone网站https://account.oneplus.net/sign-up,并注意到此复选框已重新设置 它如何运作?如何在我的网站上使用它?比那些神秘的单词/数字好得多:) Recaptcha网站未提及任何新的Recaptcha方法... https://www.google.com/recaptcha/intro/index.html

1
JSON劫持仍然是现代浏览器中的问题吗?
我正在使用Backbone.js和Tornado Web服务器。在Backbone中接收集合数据的标准行为是作为JSON数组发送。 另一方面,由于以下漏洞,Tornado的标准行为是不允许JSON Array: http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx 一个相关的是:http : //haacked.com/archive/2009/06/25/json-hijacking.aspx 对于我来说,当它确实是一个对象列表时,不必将JSON包装在一个对象中,这是更自然的选择。 我无法在现代浏览器(即当前的Chrome,Firefox,Safari和IE9)中重现这些攻击。同时,我无法证实现代浏览器已经解决了这些问题。 为确保我不会被任何可能的编程技巧和谷歌搜索技巧所误导: 这些JSON劫持攻击是否在当今的浏览器中仍然是一个问题? (注意:很抱歉,可能存在以下重复项:是否可以在现代浏览器中进行“ JSON劫持”? 但是由于接受的答案似乎无法回答问题-我认为是时候再次询问并获得一些更清晰的解释)

5
为什么此代码容易受到缓冲区溢出攻击?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } 这段代码很容易受到缓冲区溢出攻击,因此我试图找出原因。我认为这与len被声明为a short而不是a 有关int,但我不确定。 有任何想法吗?


30
附加数据库时访问被拒绝
我正在使用SQL Server 2008开发人员版。我试图附加AdventureWorks2008数据库。 尝试附加时,收到“访问被拒绝”错误。根据事件日志,它来自操作系统: 打开失败:无法打开文件编号0的文件D:\ ProjectData \ AdventureWorks \ AdventureWorksLT2008_Data.mdf。OS错误:5(访问被拒绝。)。 我以为是“ NTFS问题”,但是系统(和我)可以修改对这两个文件的访问权限。 我发现如果以sa身份登录,可以成功附加数据库,但是我的用户帐户无法使用。 我是计算机上的本地管理员组的成员,并且在SQL Server实例中担任sysadmins角色。 知道为什么我必须以sa身份登录吗?

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.