| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> SQL注入初了解 -> 正文阅读 |
|
[大数据]SQL注入初了解 |
1.什么是SQL注入? ? ? ?服务端没有过滤用户输入的恶意数据,直接把用户输入的数据当做SQL语句执行,从而影响数据库安全和平台安全。 2.SQL两个条件:(1)用户能够控制输入 (2)原本要执行的SQL语句,拼接了用户输入的恶意数据? 3.SQL注入过程:(1)攻击者访问有SQL漏洞的网站,寻找注入点 (2)攻击者构造注入语句,注入语句和程序的SQL语句结合生成新的SQL语句 (3)新的SQL语句被提交到数据库中进行处理 (4)数据库执行了新的SQL语句,引发SQL注入攻击 4.SQL带来的危害(数据丢失)
5.SQL注入示例?1.万能密码:通过用户名处传入参数 'or 1=1 --进行密码登录 6、MYSQL系统数据库中重要的表
SQL
注入中最常见利用的系统数据库,经常利用系统数据库配合
union
联合查询来获取数据库相关信息,因为系统数据库中所有信息都在这个数据库里面,比如所有数据库名、所有的表名、列名以及列名的数据库类型等
MYSQL系统数据库information_schema包含的三张非常重要的表:
schemata表:这个表里面存放的数据库信息,这个表里面最关键的就是schema_name列,这里面存放了所有数据库名称,查询这个列所有的值即可拿到所有数据库名 存放的就是show databases;一样的结果 columns表:这个表给出了所有表中的所有列信息,但是同时也包含了数据库名,所有表名,所有列名值对应列column_name,所有数据库名值对应列table_schema,所有表名值对应table_name列,当然此表还有其他列信息,如图,但是这里暂时只关注此三个列。 ? ?tables表:这个表给出了所有表的信息,但是同时也包含了数据库名,所有表名,所有数据库名值对应列table_schema,所有表名值对应table_name列,当然此表还有其他表的信息? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 14:48:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |