AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[sql-injection](dba)

Martin Hope
R1w
Asked: 2018-07-26 01:25:42 +0800 CST

为什么大多数 Sql 注入需要这样的 url "index.asp?id=123"

  • 1

我正在尝试学习“SQL 注入”概念并尝试练习一些 Kali 工具来学习,但有一个问题我不明白,我的问题是为什么大多数工具需要以“AAA.BBB?id”结尾的 URL =000" 作为注入的输入字符串。

sql-server sql-injection
  • 1 个回答
  • 599 Views
Martin Hope
Erik
Asked: 2018-04-13 10:57:35 +0800 CST

像这样拼接一个字符串会让我面临 SQL 注入吗?

  • 3

我最近用以下代码示例回答了一个问题:

Create Table #Testing
(
  emaildomain varchar(100) -- Still bigger than functionally needed but better than MAX
);
INSERT INTO #Testing VALUES (REVERSE('@myfreepaysite.com')); -- Changed


Create Table #DataToCheck
(
  fullemail varchar(200) -- Still bigger than functionally needed but better than MAX
);
Insert Into #DataToCheck VALUES(REVERSE('[email protected]')); --Changed

Select Top 1 
  REVERSE(fullemail)
  , REVERSE(emaildomain)
FROM #DataToCheck
  INNER JOIN #Testing ON fullemail LIKE emaildomain + '%';

在我写最后一行时,我想知道EmailDomain用通配符连接列是否为 SQL 注入打开了大门。这是我应该注意这种类型的代码,还是 SQL Server 会将其评估为单个统一参数,这样我就不必担心使用这种方法?

sql-server sql-injection
  • 1 个回答
  • 120 Views
Martin Hope
Dan Rubio
Asked: 2015-03-20 07:50:34 +0800 CST

我的代码库中的这个 ActiveRecord/SQL 语句是否容易受到 SQL 注入的影响?

  • 1

我正在阅读 Rails 指南中有关 SQL 注入攻击的内容,想知道以下行是否容易受到 SQL 注入攻击:

accounts.where("lower(name) LIKE '%#{params[:query].downcase}%'")

如果我正确阅读并理解了指南,用户可以做类似的事情吗

 `'\''; DROP TABLE users;`

那会让我的桌子掉下来吗?

- - - 编辑 - - -

这些示例相同:

Account.where(id: account_id).first
current_user.actions.where(id: params[:clear_action_reminder]).first
edits.where.not(account_id: non_human_ids)
Rating.where(project_id: @project.id, account_id: current_user.id).first_or_initialize

这些当然是特定于应用程序的查询,但是因为查询中没有?,所以这些都可能是灾难性的吗?

postgresql sql-injection
  • 1 个回答
  • 73 Views
Martin Hope
Jargs
Asked: 2014-07-16 20:41:00 +0800 CST

防止 SQL 注入

  • 3

我知道这很危险:

EXEC sp_executesql 'SELECT * FROM ' + @Table

但是,这对 SQL 注入安全吗?

IF EXISTS(SELECT * FROM information_schema.tables WHERE TABLE_NAME = @Table) BEGIN
    EXEC sp_executesql 'SELECT * FROM ' + @Table
END
sql-server sql-injection
  • 3 个回答
  • 562 Views
Martin Hope
jpmc26
Asked: 2014-02-13 21:17:37 +0800 CST

在无法参数化查询的情况下,如何防止 SQL 注入?

  • 4

我正在使用 ESRI 的 arcpy 模块,我需要指定一个WHERE子句作为此函数的参数。由于结果最终将用于从数据库中检索数据,WHERE子句的文本有时会直接传递到数据库,但遗憾的是,ESRI 没有给我任何参数化查询的选项。由于我想防止潜在的 SQL 注入,我需要找到一些替代方法来保护我的数据库。

想到的一个选项是限制输入,如果不符合,则在此函数调用之前抛出错误。在我的例子中,呼叫者只需要 ASCII 字母数字字符。列中不允许使用其他类型的字符进行过滤。将用户限制为仅字母数字字符是否足以防止 SQL 注入,特别是因为文本必须作为字符串引用?

parameter sql-injection
  • 3 个回答
  • 769 Views
Martin Hope
Leigh Riffel
Asked: 2012-03-07 13:37:39 +0800 CST

是否应在 SQL 语句中指定日期格式?

  • 8

我看到开发人员使用隐式日期转换的代码。我想要一个明确的答案,说明他们为什么不应该这样做。

SELECT * from dba_objects WHERE Created >= '06-MAR-2012';
oracle sql-injection
  • 2 个回答
  • 2225 Views
Martin Hope
jason_ruz
Asked: 2011-09-09 18:44:57 +0800 CST

在数字常量周围加上单引号真的可以防止 MySQL 中的 SQL 注入吗?

  • 7

该手册似乎建议在数字周围使用引号足以防止 SQL 注入。

根据第5.3.1 节。MySQL 5.1 参考手册的一般安全指南:

如果应用程序生成查询,例如SELECT * FROM table WHERE ID=234当用户输入值234时,用户可以输入值234 OR 1=1以使应用程序生成查询SELECT * FROM table WHERE ID=234 OR 1=1。结果,服务器检索表中的每一行。这会暴露每一行并导致过多的服务器负载。防止此类攻击的最简单方法是在数字常量周围使用单引号:SELECT * FROM table WHERE ID='234'. 如果用户输入额外的信息,它们都将成为字符串的一部分。在数字上下文中,MySQL 自动将此字符串转换为数字并从中删除任何尾随的非数字字符。

这是否意味着如果用户输入值,用户就会受到保护234' OR 1=1 #?(即生成查询SELECT * FROM table WHERE ID='234' OR 1=1 #')

mysql sql-injection
  • 4 个回答
  • 7662 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve