本文由“东塔网络安全学院”总结归纳
靶场介绍:
字符型注入类型6
今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“字符型注入类型6”。
一、实验介绍
1.SQL注入介绍
SQL注入,SQLinjection。何为SQL,英文:StructuredQueryLanguage,叫做结构化查询语言。常见的结构化数据库有MySQL,MSSQL,Oracle以及Postgresql。SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询等操作。
2.Information_schema数据库基本表说明:
1)schemata表:提供了当前mysql实例中所有的数据库信息,showdatabases的结果就是从该表得出;
2)tables表:提供了关于数据库中的所有表的信息,即表属于哪个schema,表的创建时间、表的类型等,showtablesfromschemaName的结果就是从该表得出;
3)columns表:提供表中所有列信息,即表明了表中所有列及每列的信息,showcolumnsfromschemaName.tableName的结果就是从该表得出。
3.字符型注入:
在参数后面加引号来判断原有的引号是否失衡,如果有多余引号则为字符型
二、实验目的
1.深入理解sql注入的概念及原理;
2.掌握字符型注入的原理。
三、实验步骤
1.打开实验地址,查看实验环境,根据实验要求进行相应的操作;
2.按照判断注入点、拼接sql函数来判断执行语句的对错,并获取数据库名、表名、字段名、字段内容等信息。
四、防御方式
1.对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等;
2.过滤掉关键字,比如select等,对特殊字符进行实体编码;
3.使用预编译功能;
4.禁用相关函数。