美文网首页
关于sql注入.....

关于sql注入.....

作者: 悠悠神代不曾闻 | 来源:发表于2017-01-25 17:18 被阅读11次

前台传来的值如果不经过处理直接进入数据库执行的话,有很大的风险,例如,有人恶意传值 ’;drop table xxxx--的话,xxxx这张表直接就没了。
下面举一个危害不大的例子:

select * from user_table where username=''and password= ''
假设我们在前端的user框里面输入'or 1=1--的话,这句sql就会变成
select * from user_table where username='' or 1=1--'and password= ''

这样密码无论输入什么都能登录成功了
注:在数据库里面--是注释的意思,也就是说后面的and password= ''等于没有


所有前台传来的值都得用prepare statement进行预处理。
对于一个name对应一个值的情况,直接获取值放进List,举例如下:

List<Object> paraList = new ArrayList<Object>()
String counter = map.get("counter") == null ? "" : map.get("counter").toString();
//再在sql的结尾加上
if (!counter.isEmpty()) {
            builder.append("\n                    and s.code = ?");
            paraList.add(counter);
        }
//return的时候带上paraList.toArray()
return getJdbcTemplate().queryForInt(builder.toString(), paraList.toArray());

对于前台一个name对应多个值的情况参考下面这篇文章
根据前台传值的数量动态插入?,?..

相关文章

  • SQL 注入速查表

    什么是SQL 注入速查表? SQL 注入速查表是可以为你提供关于不同种类SQL 注入漏洞的详细信息的一个资源。这份...

  • web常见漏洞的成因和修复

    1.SQL注入 漏洞描述:SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,主要用于...

  • 笔记:web漏洞

    SQL注入 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,...

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

  • 关于sql注入.....

    前台传来的值如果不经过处理直接进入数据库执行的话,有很大的风险,例如,有人恶意传值 ’;drop tabl...

  • 小迪16期-20170226

    第二天:Sql注入集锦篇 1.Sql注入之access注入 2.Sql注入之mysql注入 3.Sql注入之mss...

  • 第四章 SQL 注入

    要点 SQL注入 SQL注入防护 一、SQL注入 SQL注入:黑客会通过构造一些恶意的输入参数,在应用拼接 SQL...

  • PHP代码安全之SQL注入

    PHP代码安全之SQL注入 1、什么是SQL注入? SQL攻击(英语:SQL injection),简称注入攻击,...

  • 谈谈sql注入之语句构造手法(二)

    谈谈sql注入(一)谈谈sql注入(三)谈谈sql注入(四)SQL注入的手法相当灵活,在注入的时候会碰到很多意外的...

  • SQL注入三部曲-初级

    目录 什么是SQL注入SQL注入产生的原因SQL注入攻击方式如何进行SQL注入SQL注入三部曲 1.渗透攻防WEB...

网友评论

      本文标题:关于sql注入.....

      本文链接:https://www.haomeiwen.com/subject/ogotittx.html