Questions tagged «security»

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

1
在使用OAuth2的“资源所有者密码凭据”授予类型时,如何对客户端凭据进行保密
我们正在建立一个休息服务,我们想使用OAauth 2进行授权。在目前的草案(5月19日v2-16)描述了4种类型。它们是用于获得授权(访问令牌)的机制或流程。 授权码 隐性补助金 资源所有者凭证 客户凭证 似乎我们需要支持它们全部四个,因为它们有不同的用途。前两个(可能还有最后一个)可以从需要访问API的第三方应用程序中使用。授权代码是对足以幸运地驻留在安全服务器上的Web应用程序进行授权的标准方式,而隐式授予流将是无法完全对其凭据保密的客户端应用程序(例如,移动/台式机)的选择。应用程序,JavaScript客户端等)。 我们希望自己使用第三种机制,以在移动设备上提供更好的用户体验–而不是将用户带到Web浏览器中的登录对话框等,用户只需在应用程序中直接输入其用户名和密码即可。并登录。我们还希望使用“客户端凭据”授予类型来获取访问令牌,该访问令牌可用于查看公共数据,而不与任何用户相关联。在这种情况下,这与其说是授权,不如说是类似于API密钥的一种,我们仅用于授予对已向我们注册的应用程序的访问权限,并为我们提供了在需要时撤消访问权限的选项。 所以我的问题是: 您认为我正确理解了不同赠款类型的目的吗? 您如何对客户凭证保密?在第三种情况和第四种情况下,我们都需要在客户机上的某个位置具有客户机ID和客户机密钥,这听起来不是一个好主意。 即使您使用隐式授予类型并且不公开您的客户端机密,是什么阻止另一个应用程序使用相同的授权机制和您的客户端ID来模拟您的应用程序? 总而言之,我们希望能够使用来自客户端应用程序的客户端凭据和资源所有者凭据流。这两个流程都要求您以某种方式存储客户端机密,但是客户端是移动或JavaScript应用程序,因此很容易被盗。



27
高品质,简单的随机密码生成器
我对创建一个非常简单的,高(加密)质量的随机密码生成器感兴趣。有一个更好的方法吗? import os, random, string length = 13 chars = string.ascii_letters + string.digits + '!@#$%^&*()' random.seed = (os.urandom(1024)) print ''.join(random.choice(chars) for i in range(length))

13
从命令行忽略“安全警告”运行脚本
我正在尝试从我信任的共享文件夹中执行脚本: PowerShell -file "\\server\scripts\my.ps1" 但是我收到安全警告,必须按“ R”键才能继续 安全警告仅运行您信任的脚本。尽管来自Internet的脚本可能很有用,但此脚本可能会损害您的计算机。您是否要运行\ server \ scripts \ my.ps1?[D]不运行[R]运行一次[S]挂起[?]帮助(默认为“ D”):d 我可以忽略此警告吗?我想要的伪代码是: PowerShell -IGNORE_SECURITY_WARNING -file "\\server\scripts\my.ps1"

1
在openssl_encrypt中使用初始化向量
我看了这个问题,并想自己做。当我运行此代码时(直接从此答案中获取): $textToEncrypt = "My super secret information."; $encryptionMethod = "AES-256-CBC"; // AES is used by the U.S. gov't to encrypt top secret documents. $secretHash = "25c6c7ff35b9979b151f2136cd13b0ff"; //To encrypt $encryptedMessage = openssl_encrypt($textToEncrypt, $encryptionMethod, $secretHash, '1234567812345678'); //To Decrypt $decryptedMessage = openssl_decrypt($encryptedMessage, $encryptionMethod, $secretHash); //Result echo "Encrypted: $encryptedMessage <br>Decrypted: $decryptedMessage"; 但是我得到警告 openssl_encrypt(): Using …
74 php  security  openssl 

5
保护Android应用程序敏感数据的最佳方法?
是的,这是一个非常普遍的问题,但是我正在尝试一种最佳方式来处理与基础服务器/向敏感应用程序分发敏感数据的网络服务器相关的应用程序。任何链接,一般信息建议等。 由于该应用程序将存储从数据库中检索到的持久性数据达一定时间,所以一切都变得有些棘手。
74 android  security 

6
盐生成和开源软件
据我了解,生成盐的最佳实践是使用一些存储在源代码中的神秘公式(甚至魔术常数)。 我正在开发一个计划以开源形式发布的项目,但是问题在于,该来源附带了生成盐的秘密公式,因此可以在我们的网站上进行彩虹表攻击。 我认为很多人在我之前已经考虑了这个问题,我想知道最佳实践是什么。在我看来,如果代码是开源的,就根本没有必要添加盐,因为可以很容易地对盐进行逆向工程。 有什么想法吗?

3
如何在Android中加密和解密文件?
我想加密文件并将其存储在SD卡中。我想解密该加密文件,然后再次将其存储在SD卡中。我试图通过将其作为文件流打开并对其进行加密来对其进行加密,但是它不起作用。我想知道如何执行此操作。

2
什么是“顶级JSON数组”,为什么会有安全风险?
在下面的视频中,Microsoft PDC演示者在时间标记21:40表示,包装所有JSON以使其不是顶级数组很重要: https://channel9.msdn.com/Events/PDC/PDC09/FT12 解开顶层阵列的风险是什么? 我应该如何检查并确定自己是否脆弱?我从第三方购买了许多组件,并且有外部厂商来开发我的代码。

11
从HTTP表单提交到HTTPS是否安全?
通过https从http表单提交可以接受吗?看起来应该是安全的,但是它允许中间人攻击(这是一个很好的讨论)。有些网站如mint.com允许您从http页面登录,但可以执行https发布。在我的网站上,请求的是拥有一个http登录页面,但能够安全登录。这是否不值得承担安全隐患,我是否应该让所有用户都进入安全页面登录(或使登录页面安全)?
73 security  https 

3
确保REST API的安全而不用费吹灰之力
在设计REST API时,通常先对用户进行身份验证吗? 我正在寻找的典型用例是: 用户想要获取数据。当然,我们喜欢分享!获取公共API密钥并阅读! 用户想要存储/更新数据...等等!你是谁,你能做到吗? 我想一次构建它,并允许说一个Web应用程序,一个Android应用程序或一个iPhone应用程序来使用它。 REST API似乎是符合此类要求的合理选择 为了说明我的问题,我将使用一个简单的示例。 我在数据库中有一个项目,该项目具有等级属性(1到5的整数)。 如果我正确理解REST,则将使用我选择的返回CSV,XML或JSON的语言来实现GET请求,如下所示: http://example.com/product/getrating/{id}/ 假设我们选择JSON,我们返回: { "id": "1", "name": "widget1", "attributes": { "rating": {"type":"int", "value":4} } } 这对于面向公众的API很好。我明白了。 我有很多问题要问,如何将其与安全模型结合起来?我习惯了Web应用程序安全性,在该状态下,我始终具有标识用户的会话状态,因此无论他们决定发送给我什么,我都可以控制他们可以做什么。据我了解,这不是RESTful的,因此在这种情况下将是一个不好的解决方案。 我将尝试使用相同项目/等级的另一个示例。 如果用户“JOE”希望将添加评级到项目 可以使用以下方法完成: http://example.com/product/addrating/{id}/{givenRating}/ 在这一点上,我想存储表示“ JOE”给予产品{id}等级为{givenRating}的数据。 问题:我怎么知道请求来自“ JOE”而不是“ BOB”。 此外,如果要获取更敏感的数据(例如用户的电话号码)怎么办? 到目前为止,我得到的是: 1)使用HTTP的内置功能对每个请求(纯HTTP或HTTPS)进行身份验证。 这意味着现在每个请求都采用以下形式: https://joe:joepassword@example.com/product/addrating/{id}/{givenRating}/ 2)使用带有私钥和公钥的Amazon S3之类的方法:http : //www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ 3)无论如何都要使用cookie并破坏REST的无状态部分。 第二种方法对我来说似乎更好,但我想知道我是否真的必须重新发明整个东西?自己哈希,存储,生成密钥等? 这听起来很像在典型的Web应用程序中使用会话并自己重写整个堆栈,这对我来说通常意味着“您做错了”,尤其是在处理安全性时。 编辑:我想我也应该提到OAuth。

21
如何防止浏览器存储密码
我需要停止浏览器存储用户名和密码值,因为我正在处理包含更多安全数据的Web应用程序。客户要求我这样做。 我尝试了autocomplete="off"HTML表单和密码字段中的属性。但它无法在最新的浏览器(例如Chrome 55,Firefox 38 +,Internet Explorer 11等)中运行。 最好的解决方案是什么?
73 html  security  browser 

21
白帽程序员的黑帽知识[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 当诚实的开发人员学习黑帽黑客技术时,总是会受到非程序员的怀疑。但是,显然,我们需要学习许多技巧,以便使自己的安全性达到标准。 您认为诚实的程序员在多大程度上需要了解恶意程序员的方法?
72 security 

14
为什么通过默默无闻的安全性是一个坏主意?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 8年前关闭。 改善这个问题 我最近遇到了一个系统,其中所有数据库连接都由以各种方式(包括base 64编码,md5sums和各种其他技术)掩盖的例程进行管理。 就是我,还是这太过分了?有哪些选择?

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.