首页 > 试题广场 >

下面哪个字符最可能会导致sql注入?

[单选题]
下面哪些字符最可能会导致sql注入?
  • '(单引号)
  • /
  • "(双引号)
  • $

防止SQL注入,需要注意以下几个要点:

  • 永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号双"-"进行转换等。

  • 永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

  • 永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

  • 不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

  • 应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

  • sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。

编辑于 2020-08-02 13:25:11 回复(8)
SQL注入的关键是单引号的闭合
发表于 2019-09-20 07:30:54 回复(1)
public static void main(String[] args) throws Exception {
       String name="xxx";
       String password="xxx' or '1'='1";
       String sql="select * from user_table where username='"+name+"' and password='"+password+"'";
       System.out.println(sql);
 }
控制台输出拼接后的sql为:select * from user_table where username='xxx' and password='xxx' or '1'='1'(达到攻击效果,查询出所有用户信息)
所以是单引号导致逻辑发生变化。

发表于 2020-03-26 22:04:23 回复(0)

Sql注入是一种注入攻击,可以执行恶意sql语句

发表于 2020-04-14 13:50:18 回复(0)
想到了mybatis里面的$和#占位符,所以选择了错误答案D
发表于 2020-03-03 14:36:57 回复(4)
发表于 2021-08-24 20:24:12 回复(1)
sql注入的危害:数据库中的数据都会被盗取,是一种非常容易被使用的攻击方式。
发表于 2020-07-10 22:23:33 回复(0)
导致sql注入的是单引号
发表于 2020-04-24 22:22:17 回复(0)
为什么双引号不是呀
发表于 2019-09-14 10:28:06 回复(3)
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
发表于 2023-01-30 19:14:11 回复(0)
谁能给个解析
发表于 2020-03-03 11:09:26 回复(0)
单引号可能会被用来伪装成数据库中不存在的字段
发表于 2022-10-25 21:30:24 回复(0)
单引号
发表于 2022-04-02 16:20:56 回复(0)
单引号比双引号范围大,可以这样理解不
发表于 2021-12-09 00:49:32 回复(0)
'
发表于 2021-04-28 14:39:08 回复(0)
单引号的闭合
发表于 2021-03-29 19:41:46 回复(0)