1.0 什么是sql注入
sql注入第一次是在1998年著名黑客杂志phack第54期上提出的
sql注入是服务器端未严格校验客户端发送的数据,导致服务器端sql语句被恶意修改并成功执行
的行为
1.1 sql的分类
sql注入按请求方法分为get型和post型。
按照sq;数据类型分类可分为整型注入,和字符注入。
其他的数据类型:
报错注入:后台的sql语句执行了错误的内容,反回到了前台,叫做爆破注入
双注入:用到了两个select被称作双注入
盲注:盲注是在sql语句破坏后台时,不显示具体的错误,无法看见数据库的报错信息,这
种注入叫做盲注。盲注分为布尔盲注和时间盲注,布尔盲注是后台返回true或者false判断注入
是否成功,时间盲注是在注入语句中运行sleep程序,通过sleep函数是否执行成功来判断是否注入成功
cookie注入:就是在cookie中进行注入
user-Agent注入:就是在user-Agent中进行注入
1.2 整形注入的流程
1 判断是否有注入,半段是否未严格校验
具体方式 (1)检测可控参数的改变是否会改变显示结果
(2)是否能顺利报错,在报错中显示局部代码,根据局部代码判断注入类型
(3) 查看sql语句是否可以不报错
2 什么类型的注入
3 语句是否能够被恶意修改
4 是否能成功执行
具体的注入过程
在查询结果后用uion拼接select查询语句,注意,这里必须要用uion连接,如果直接使用;;
连接,则会只显示第一个返回集或者直接报错。
对具体拼接见[此文](SQL注入:#和--的作用 - 不解风情的帅帅男 - 博客园 (cnblogs.com))