问题标签 [database-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
249 浏览

sql-server - 如何防止windows管理员附加ms sql数据库

背景:【无版权实施】

【无版权实施】我公司为不受政府版权保护的地区的客户开发库存控制应用。唯一的选择就是自己隐藏和保护东西。这里的竞争对手通常会复制其他公司的数据库并在其上构建前端,然后开始销售自己的应用程序。

问题

我们使用 MS SQL 服务器快速版和有时标准版。我们发现任何客户都可以停止 sql 引擎,从安装应用程序的 pc 复制文件,然后将该数据库文件附加到另一个系统中,他们拥有完整的 Windows 管理员权限,这样他们就可以充分探索我们的数据库。

我在寻找

是否有任何可靠的解决方案来保护我们的数据库设计被其他人查看。只有我们的应用程序可以通过我们在数据库中创建的用户进行连接?

过去我听说 sybase 自适应服务器有这样的功能,windows 用户无法访问它,用户存储在每个数据库本身中。如果有人没有存储在数据库中的用户密码,则无法登录。

谢谢

您的帮助将不胜感激。

0 投票
3 回答
1871 浏览

javascript - What HTML tags would be considered dangerous if stored in SQL Server?

Considering issues like CSRF, XSS, SQL Injection...

Site: ASP.net, SQL Server 2012

I'm reading a somewhat old page from MS: https://msdn.microsoft.com/en-us/library/ff649310.aspx#paght000004_step4

If I have a parametrized query, and one of my fields is for holding HTML, would a simple replace on certain tags do the trick?

For example, a user can type into a WYSIWYG textarea, make certain things bold, or create bullets, etc.

I want to be able to display the results from a SELECT query, so even if I HTMLEncoded it, it'll have to be HTMLDecoded.

What about a UDF that cycles through a list of scenarios? I'm curious as to the best way to deal with the seemingly sneaky ones mentioned on that page:

Quote:

An attacker can use HTML attributes such as src, lowsrc, style, and href in conjunction with the preceding tags to inject cross-site scripting. For example, the src attribute of the tag can be a source of injection, as shown in the following examples.

An attacker can also use the <style> tag to inject a script by changing the MIME type as shown in the following.

So ultimately two questions:

  1. Best way to deal with this from within the INSERT statement itself.
  2. Best way to deal with this from code-behind.
0 投票
2 回答
12735 浏览

oracle - Oracle 中的 EXTPROC 是什么?

出于安全原因,我要求数据库团队添加 EXTPROC_DLLS:ONLY; 但他们这样说:

“请注意,KEY = EXTPROC1526根本不指任何外部进程。这只是任何进程使用的密钥,需要通过IPC协议调用Oraxxx。密钥可以是任何值,相同的密钥值应该是通过 tnsnames.ora"

在我看来,这似乎是错误的。你能帮我解决这个问题吗?EXTPROC 的确切用途是什么?如果我们不添加 EXTPROC_DLLS:ONLY 会发生什么?

0 投票
1 回答
85 浏览

asp.net-mvc - EntityFramework 6 下用户定义的直接 SQL 查询的安全性

我需要(重新)为我正在处理的应用程序的用户开发一个工具,该工具位于 ASP.NET 4.5.2 / MVC 5.2.3 中并使用 Entity Framework 6。

该工具应该允许授权用户编辑 SQL 查询,并允许低权限用户运行它们。我担心这种工具的安全性,即使 Web 应用程序只能作为 Intranet 访问。

任何给定的查询只能是 aSELECT并且可以JOIN在多个表上具有 s。

是否有任何 EF6 特定功能允许我检查甚至限制一个 sql 字符串只做一个SELECT
我是否应该在数据库中有一个特定用户,该用户只允许SELECT作为该用户执行这些查询并为这些查询使用单独的连接?
关于我可能忽略的这种工具的安全性还有什么其他的吗?

我知道这个工具是愚蠢的,甚至不应该存在,但我不负责决策,我们计划尽快删除该工具。

0 投票
1 回答
5054 浏览

c# - 散列 MySql 密码给出:“不再支持使用旧密码进行身份验证,使用 4.1 样式密码”

我尝试从 ASP.NET(Razor)网页连接到 MySql(版本 5.0.95)数据库...
(Assembly MySql.Data.dll,v6.6.5.0)

首先,我尝试直接在连接字符串中直接指定密码,例如"...;pwd=myClearPassword". 但是当试图打开时得到了错误

“不再支持使用旧密码进行身份验证,请使用 4.1 样式的密码。”

所以我现在尝试更新我的代码,如下所示:

但是我得到了同样的错误。哪里有问题?

PS。

在 SQL 服务器上,该old_passwords变量设置为ON(默认值为OFF)。我们不控制服务器,所以这个变量应该保持不变。

注意。
有很多同名的问题。但是,由于问题的上下文不同,请不要将此问题重复。我主要是从上面代码的这个答案中得到启发......

0 投票
1 回答
950 浏览

sql - SQL Server 2014 中的列级数据加密

我需要在 SQL Server 2014 的多个表中加密几个列级数据。在阅读了微软论坛上关于加密一列数据的文章后,我有点困惑。我是否需要在表中为加密数据创建一个新列?我的意思是可以加密现有列而不是为加密数据创建新列吗?假设 A 列有我需要加密的信用卡信息。根据文章,需要创建 B 列来存储加密的信用卡信息。是否可以对 A 列进行加密而不是创建额外的 B 列。谢谢

0 投票
1 回答
1202 浏览

sql - 密码保护维护计划中的 sql 数据库备份

我有一个 microsoft sql server 数据库 (2012),目前正在使用维护计划对其进行备份。我的计划中有完整备份、差异备份和事务日志备份。出于安全原因,我想在这些文件上添加密码保护。有没有办法在我的维护计划中实现这一点?提前致谢。

0 投票
1 回答
1131 浏览

amazon-web-services - 加密 AWS RDS 实例有什么好处

如果我们在 AWS 中有一个只能从私有子网中的 EC2 访问的 MySQL RDS,那么从安全的角度(使用默认 RDS 加密)对其进行加密有什么好处。因为有人可以访问数据库的唯一方法是当他进入 AWS 的私有子网时,在这种情况下加密和不加密无济于事,因为无论如何黑客都可以从 EC2 访问数据。那么唯一不同的是,使用加密的 RDS 将花费他更多的时间来转储数据并将其复制到其他地方以供他使用。否则加密私有 RDS 实例的其他好处是什么?假设数据库的唯一备份在 AWS 本身使用其默认的数据库实例备份,所以没有人也可以直接从数据库备份访问数据。

0 投票
0 回答
52 浏览

python - Python Django 创建具有角色的用户,他们可以看到什么?

您好,我必须通过电子邮件验证和 special_users 使普通用户可以接受确实应用了这样的需求表的用户:

注册后的用户表单(超级用户看不到此表单)

  • 姓名
  • 生日
  • .
  • .
  • .
  • 上传图片护照号码(非常重要,以检查此用户是否曾经申请过此平台,而其唯一性)
  • 另一方面,特殊用户会看到这样的申请者(用户)列表(注意会有很多特殊用户),普通用户看不到这个列表,因为他们的访问权限在这里受到限制

  • 姓名 姓 国家 学生 大学
  • 姓名 姓 国家 实习 联合国
  • 姓名 姓 国家 实习 Microsoft
  • 姓名 姓 国家 员工 Github
  • .
  • .
  • .
  • 姓名 姓 国家 员工 Github
  • 现在如果一个特殊用户可以点击一个名字,按字段排序或搜索,最后他可以查看一个新用户申请的用户申请表,特殊用户可以接受,如果他接受,那么用户不再在应用程序列表中,他仅在该超级用户的列表中可见。

    其他限制:如果用户确实使用他的电子邮件进行了注册,但现在他想创建一个双重帐户再次申请他不能申请,因为超级用户没有接受他的申请表

    用户可以被列入黑名单的原因:1)不是好人 2)坏邻居

    我尝试做的是一个带有登录名的 index.html 和相同的索引如果 logout.html 如果登录被授予用户将根据他们的角色拥有他们的内容。如果有人可以提供帮助,我使用 Jetbrains 的 PYCHARM,我对 Django 很陌生,但我在 python 方面有丰富的经验

    普通用户验证后的图片视图

    Super_User 所有超级用户的公共视图

    0 投票
    2 回答
    42 浏览

    sql-server - 保护 SQL Server 数据库

    我的 SQL Server 在远程服务器上运行。我想将任务委派给我的团队,他们将访问服务器以执行 ASP.NET 应用程序,因此 SQL Server 数据库凭据存储在连接字符串中。但我不希望我的团队成员备份数据库(或目录)。我将如何对用户进行分组以确保我的 SQL 服务器安全?