Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >这里有可能出现SQL注入吗?

这里有可能出现SQL注入吗?
EN

Stack Overflow用户
提问于 2010-06-10 15:02:45
回答 3查看 1K关注 0票数 1

这可能是一个非常愚蠢的问题,但我想为什么不呢?

我使用RIA Services和Entity Framework作为后端。在我的应用程序中,我有一些地方接受用户输入,并使用他们的数据直接询问RIA服务(反过来,EF和我的数据库)问题。这些层中是否有任何一层有助于防止安全问题,或者我应该自己清理数据?

例如,每当新用户向应用程序注册时,我都会调用此方法:

代码语言:javascript
运行
AI代码解释
复制
[Query]
public IEnumerable<EmailVerificationResult> VerifyUserWithEmailToken(string token)
{
    using (UserService userService = new UserService())
    {
        // token came straight from the user, am I in trouble here passing it directly into
        // my DomainService, should I verify the data here (or in UserService)?
        User user = userService.GetUserByEmailVerificationToken(token);
        ...
    }
}

(我是否应该推出自己的用户验证系统则是另一回事,我们正在采用微软的会员框架。一般来说,我对sql注入和RIA服务更感兴趣)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-10 15:08:58

sql注入基于生成原始sql字符串时使用的未转义字符串

例如

代码语言:javascript
运行
AI代码解释
复制
"SELECT * FROM `user` WHERE `name` = '" . $name . "'"

是易受攻击的,因为SQL值可能包含‘标记,从而修改$name语句的含义。一个很好的例子是,如果$name为' OR 1=1; --,则执行该sql查询:

代码语言:javascript
运行
AI代码解释
复制
"SELECT * FROM `user` WHERE `name` = '' OR 1=1; --'"

这对于绕过密码检查非常有用,我可以告诉您:)

解决此问题的正确方法是将“character to”转义为\(对于mysql)。这就是像php这样的语言提供mysql_real_escape_string的原因。但是,如果您使用适当的参数化查询系统,那么您可以传递任何您喜欢的内容,并且库将正确地对其进行转义。

查看您的代码,没有理由检查token的值,除非您的UserService执行一些不可靠的sql字符串生成(我确信实体框架不会这样做,所以您应该很好)。

票数 3
EN

Stack Overflow用户

发布于 2010-06-10 15:10:57

EF将为您将其参数化,但是,如果您确实想确保启动SQL Profiler并查看发送到SQL Server的内容

票数 3
EN

Stack Overflow用户

发布于 2010-06-10 15:07:15

你应该是安全的,我确信EF正在生成参数化的查询来从你的数据库中检索数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3015619

复制
相关文章
科普基础 | 这可能是最全的SQL注入总结,不来看看吗
2.ACCESS没有库名,只有表和字段,并且注入时,后面必须跟表名,ACCESS没有注释
HACK学习
2019/11/14
4.4K0
如何抓取页面中可能存在 SQL 注入的链接
自动化寻找网站的注入漏洞,需要先将目标网站的所有带参数的 URL 提取出来,然后针对每个参数进行测试,对于批量化检测的目标,首先要提取大量网站带参数的 URL,针对 GET 请求的链接是可以通过自动化获取的,而 POST 型参数提交的方式,则需要手工点击,然后代理抓取数据包再进行提交测试。
信安之路
2021/08/25
2.5K0
sql注入 报错注入_sql原理
成功爆出了数据库的版本号。 要理解这个错误产生的原因,我们首先要知道group by语句都做了什么。我们用一个studetn表来看一下:
全栈程序员站长
2022/11/14
5.3K1
sql注入 报错注入_sql原理
1.1.1-SQL注入-SQL注入基础-SQL注入流程
SQL注入流程 01 寻找SQL注入点 寻找SQL注入点 无特定目标: inurl:.php?id= 有特定目标: inurl:.php?id=site:target.com // jsp sid
tea9
2022/07/16
1.9K0
1.1.1-SQL注入-SQL注入基础-SQL注入流程
1.1.1-SQL注入-SQL注入基础-SQL注入原理分析
sql 结构化查询语言 通用的功能极强的关系数据库标准语言 功能包括查询、操纵、定义和控制四个方面 不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么
tea9
2022/07/16
1.6K0
SQL注入攻击(SQL注入(SQLi)攻击)-报错注入
数据库返回了一个错误 , 从错误来看 , 最外层的一对单引号来自数据库的报错格式 , 我们不用管
红目香薰
2022/11/29
2.7K0
SQL注入攻击(SQL注入(SQLi)攻击)-报错注入
SQL注入(SQL注入(SQLi)攻击)攻击-联合注入
也就是说 , 后台SQL中拼接参数时 , 使用的是单引号 , 固 注入点为 单引号字符串型
红目香薰
2022/11/29
2.4K0
SQL注入(SQL注入(SQLi)攻击)攻击-联合注入
1.1.1-SQL注入-SQL注入基础-SQL手工注入方法
核心原理: MySql内置的infromation_schema库,它功能强大,是我们进行MySql注入的基石!
tea9
2022/07/16
1.7K0
1.1.1-SQL注入-SQL注入基础-SQL手工注入方法
PHP使用了PDO还可能存在sql注入的情况
“用 PDO 来防止 SQL 注入。”大概学过 PHP 的都听说过这句话。代码中出现了 PDO 就行了吗?答案肯定是否定的。接下来给大家介绍几种使用了 PDO 还是不能防止 sql 注入的情况。
信安之路
2018/08/08
4.3K0
PHP使用了PDO还可能存在sql注入的情况
批量in查询中可能会导致的sql注入问题
有时间我们在使用in或者or进行查询时,为了加快速度,可能会经常这样来使用sql之间的拼接,然后直接导入到一个in中,这种查询实际上性能上还是可以的,
用户5166556
2019/04/16
2.4K0
1.1.1-SQL注入-SQL注入基础-SQL注入练习环境搭建
Sqli-labs https://github.com/Audi-1/sqli-labs
tea9
2022/07/16
1.5K0
SQL注入(SQL注入(SQLi)攻击)攻击-注入点
SQL注入被称为漏洞之王 , 是最常用的漏洞之一 , 其中PHP在这方面的贡献最大
红目香薰
2022/11/29
1.8K0
SQL注入(SQL注入(SQLi)攻击)攻击-注入点
SQL注入-报错注入[通俗易懂]
报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。
全栈程序员站长
2022/11/11
3.4K0
SQL注入-报错注入[通俗易懂]
sql注入
先看一段日常代码 @Autowired private JdbcTemplate template; private void buildYear(SearchDto s, StringBuilder sql) { sql.append(" SELECT ROUND(SUM(CASE ("); sql.append(s.getYear()); sql.append(" - substr(li.fztime, 1, 4))"); sql.append(" WHEN 1 THE
用户5166330
2019/04/16
1.3K0
1.2.2-SQL注入-SQL注入语法类型-报错注入
构造payload让信息通过错误提示回显出来 应用场景: 查询不回显内容,会打印错误信息 Update、insert等语句,会打印错误信息
tea9
2022/07/16
1.6K0
1.2.2-SQL注入-SQL注入语法类型-报错注入
SQL注入
 其中,un和pwd都是String类型的变量,这是一个很明显的SQL注入漏洞,假设我令
mathor
2018/10/10
2K0
SQL注入
SQL注入自诞生以来以其巨大的杀伤力而闻名于世。典型的SQL输入的例子就是当对SQL进行字符串拼接操作的时候,直接使用未加转义的用户输入内容作为变量,比如下面的这种情况:
田维常
2019/08/05
1.7K0
SQL注入
首先先说点知识,1、MySql在5.0版本后新增一个叫information_schema的虚拟数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。利用这个可以获取表名,列名等 2、查询中用到的group_concat()函数是要把查询的内容联合到一起方便查看的,这样就不需要limit 0,1一个一个判断了 先查个字段,因为有三个数据,就用4吧order by 4#
故里[TRUE]
2023/04/16
1.1K0
SQL注入
SQL注入
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句添加额外的SQL语句,从而实现非法操作,获取数据库数据,服务器提权等,很多机构将SQL注入作为第一危险的安全漏洞。
WindRunnerMax
2020/08/27
1.2K0
SQL注入
所谓SQL注入,就是通过把SQL命令插入到表单中或页面请求的查询字符串中,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。 比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的。
用户2200417
2022/06/13
7700

相似问题

这类代码容易出现SQL注入吗?

035

逻辑应用程序SQL注入可能吗?

213

使用contains时可能的SQL注入吗?

13

这里有可能阻止叉子故障吗?

10

可能的sql注入

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文