草庐IT

SECURITY

全部标签

mysql - 将最小权限应用于数据库连接

我注意到大多数FOSS应用程序(例如Wordpress)仅使用一组已被授予所有权限的数据库凭据。这似乎违反了最小特权原则。在编写这样的应用程序时,使用多个帐户是否更好,例如,一个帐户仅用于SELECT查询,另一个用于UPDATE等? 最佳答案 这绝对违反了最小特权原则。让我们回到definition:Ininformationsecurity,computerscience,andotherfields,theprincipleofleastprivilege,alsoknownastheprincipleofminimalpriv

mysql - PHP PDO 清理用户输入

我一直在研究清理用户输入的最有效方法。我的应用程序是一个简单的发布请求,用于对用户进行身份验证。在网上看,我可以找到十几种不同的“最佳”方法。很多这些方法使用不推荐使用的php函数或者看起来过于复杂。为了连接到我的sql数据库,我使用了PDO类。在搜索我自己的函数时,我偶然发现了这个:Preparedstatementswithboundparametersarenotonlymoreportable,moreconvenient,immunetoSQLinjection,butareoftenmuchfastertoexecutethaninterpolatedqueries,asb

php - 如何在 PHP 中用盐检查 mysql 加密值?

对于我的网站,我使用这个MySQL函数将我的用户密码存储在数据库中:ENCRYPT('password',CONCAT('$6$',SUBSTRING(SHA(RAND()),-16)))现在我的用户要登录,我需要用数据库中的值检查他们提供的密码。我以为它会像这样简单:SELECTuserFROMusersWHEREid=$idANDpassword=ENCRYPT('$password',CONCAT('$6$',SUBSTRING(SHA(RAND()),-16)))但是,由于RAND()函数,这显然行不通......那么我如何在PHP(或mysql)中重新创建此密码以将其与加密密

c# - 中等信任共享环境上的 MySql Connectors 6.7.4

首先,我想说的是,我已经尝试了几个小时来解决这个问题,方法是尝试从有相同问题的人那里获得的一系列不同方法,但无济于事。在这一点上我很无能。我正在使用我在ASP.NET4.5应用程序中引用的MySql.Data和MySql.Data.Entitydll(版本6.7.4)。我已设法(本地)连接到我的数据库并毫无问题地查询它。SqlConnection=newMySqlConnection("server=localhost;UserId=;Password=;database=;");问题出在中等信任的共享环境中。我收到以下错误(尝试连接到数据库时):描述:应用程序试图执行安全策略不允许的

php - 安全措施 - 何时以及如何

目前我正在升级一个Web应用程序,我将从登录用户那里获得大部分输入。输入将包含有效的html、图像、音频、视频和上传到用户定义路径的工具。然后应用程序将其格式化为漂亮的用户界面并显示给最终用户。这些特权用户可以使用基于网络的界面添加/修改/删除内容。根据基本的经验法则:我应该在进入数据库之前转义我的数据,而不是接收来自用户的数据。为此,我计划采取以下安全措施。其中还包括我的问题我正在使用准备好的语句将所有用户输入存储到数据库中。我希望这消除了数据库注入(inject)威胁。这个措施够吗?或者我还需要检查%和_符号以及mysqlLIKE有疑问吗?用户输入(我们称之为输入A),我不需要任何

mysql - AWS RDS 错误 2003

我无法连接到我的RDS实例并继续获取ERROR2003(HY000):Can'tconnecttoMySQLserveron"myendpoint"我知道出现此错误是因为我的PC由于公共(public)可访问性而无权访问数据库,但我无法让我的PC在安全组中进行授权。我打开了RDS安全组,它是这样说的:UsingVPC?VisittheVPCpagetocreateormanageVPCSecurityGroupsandingressrulestoyourDBInstancesinVPC.LearnmoreaboutthedifferencesbetweenDBSecurityGroup

mysql - 为什么 MySQL 允许 SELECT 查询中的非精确匹配?

这是故事。我正在测试对使用MySQL数据库作为数据主要存储的Laravel(PHP框架)应用程序进行一些安全测试(使用zaproxy)。Zaproxy正在报告可能对具有以下有效负载的POST请求URL进行SQL注入(inject):id[]=3-2&enabled[]=on基本上,这是一个AJAX请求,用于打开/关闭列表中的特定功能。Zaproxy正在对请求进行模糊测试:id值为3-2时,应该有一个整数-要更新的项目的id。问题是这个请求是有效的。它应该会失败,但代码实际上正在更新id=3的项目。我按照我应该的方式做事:使用Eloquent的Model::find($id)方法检索模型

php - 我的登录脚本容易受到 SQL 注入(inject)攻击吗?

2天前,一名黑客进入了管理员帐户。他告诉我们login.php存在漏洞。但是我不知道如何转义输入:$salt='78sdjs86d2h';$username=mysqli_real_escape_string($DB_H,addslashes($_POST['username']));$password=mysqli_real_escape_string($DB_H,addslashes($_POST['password']));$hash1=hash('sha256',$password.$salt);$hash=strtoupper($hash1);$check=mysqli_qu

php - 用于 PHP 的 libsodium 无法正常工作

我想使用Argon2i来散列我的密码,但它不起作用。我收到以下错误:Fatalerror:UncaughtError:CalltoundefinedfunctionSodium\crypto_pwhash_str()这是我用来安装libsodium的指南:https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium我已检查libsodium是否已安装并正常工作。我实现了从以下链接获得的Argon2i哈希:https://paragonie.com/blog/2016/02/how-safe

python - 在 flask 中存储 mysql 服务器凭据的安全方法?

我想知道我的app.pyflask应用程序中某些东西的安全性。首先是数据库,我正在使用mysql,目前我通过以下方式连接到它:#ConfigMySQLapp.config['MYSQL_HOST']='localhost'app.config['MYSQL_USER']='root'app.config['MYSQL_PASSWORD']='password'app.config['MYSQL_DB']='databasename'app.config['MYSQL_CURSORCLASS']='DictCursor'对我来说,这感觉很奇怪,只是以纯文本形式输入密码等。我一直在网上搜索