SQL注入(injection)概述

SQL注入是一种攻击手法,利用应用对用户输入验证不足,插入恶意SQL语句,获取未授权数据。文章介绍了Web应用的三层架构,强调了关系型数据库如MySQL的安全问题。重点提到了information_schema中的关键表,用于获取数据库信息。攻击者可能利用GET或POST请求进行注入,其中GET速度快,POST更隐蔽。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL注入是指web应用程序对用户输入数据的合法性没有判断或者过滤不严,攻击者可以在web应用程序中实现定义好的查询语句的结尾上添加额外的sql语句,在管理员不知情的情况下实现非法操作,依次来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

web应用程序三层架构:视图层 + 业务逻辑 + 数据访问层

数据库分类

1.关系型数据库

2.非关系型数据库

Mysql数据库的注入

数据库层级关系:

服务器里

多个数据库

多个数据表

多个行 列 字段

数据

show database; //查询所有的数据库 use 数据库名称 //选中某个表

合并查询的特性

1.前面的查询语句和后面的查询语句互不干扰

2.前面的查询语句的字段数量和后面的查询语句字段数量要一致

最重要的几张表

information_schema中的三张表

schemata:保存当前整个服务器所有的数据库信息 库名

tables:保存当前整个服务器中所有的表名信息 表名 table_name

columns:保存当前服务器中所有的字段名 字段名字 column_name

实战思路

根据数据库类型要区分开

GET类型:通过url 数据长度 速度快

POST类型:通过服务器 安全性 数据量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值