ArcGIS Server 标准化SQL查询、SQL注入问题的测试总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArcGIS Server 标准化SQL查询、SQL注入问题的测试总结相关的知识,希望对你有一定的参考价值。
参考技术A在设置了 standardizedQueries:true 的属性之后,存放在 Oracle SDE 中的数据发布成的REST服务,仍然可以通过在 Where 语句中传入参数 USER like \'SD%\' 执行查询,从而可以在有限的次数内 暴力试探出 SDE 连接的用户名 。其中 USER 不是数据表中包含的字段,是 Oracle 提供的 SQL 函数。 SD% 是 SDE 连接用户名的部分字母。
通过对比分析,排除 Oracle 和 SDE 版本的影响,得出结论:
MySQL
一、认识SQL
Q:什么是SQL?
A:
- SQL是指结构化查询语言
- SQL使我们有能力访问数据库
- SQL是一种ANSI的标准计算机语言
注:ANSI,美国国家标准化组织
Q:SQL能做什么?
A:
- SQL面向数据库执行查询
- SQL可从数据库取回数据
- SQL可在数据库中插入新的记录
- SQL可更新数据库中的数据
- SQL可从数据库中删除记录
- SQL可创建数据库
- SQL可在数据库中创建新表
- SQL可在数据库中创建存储过程
- SQL可在数据库中创建视图
- SQL可以设置表、存储过程和视图的权限
Q:SQL分类
A:
- DDL:数据定义语言(库、表) 关键字:CREATE(创建)、DROP(删除)、ALTER(更新)
- DML:数据库操作语言(记录、相当于new java对象) 关键字:INSERT(添加)、UPDATE(更新)、DELETE(删除)
- DCL:数据控制语言
- DQL:数据查询语言 关键字:SELECT
二、使用SQL
1、数据库(DATABASE)
- 创建数据库
SQL:CREATE DATABASE 数据库名;
1 CREATE DATABASE test;
- 删除数据库
SQL:DROP DATABASE 数据库名;
1 DROP DATABASE test;
2、表(TABLE)
- 创建表
SQL:CREATE TABLE 表名(
字段1 类型1,
字段2 类型2,
......
字段n 类型n
);
1 CREATE TABLE emp( 2 id INT PRIMARY KEY AUTO_INCREMENT,#编号,主键自增 3 e_name VARCHAR(255), #姓名 4 e_sex VARCHAR(8), #性别 5 e_age INT, #年龄 6 e_salary IN #薪水 7 )
- 删除表
SQL:DROP TABLE 表名
1 DROP TABLE emp;
- 添加数据
SQL:INSERT INTO 表名 (字段...) VALUES (值...);
1 INSERT INTO emp (e_name,e_sex,e_age,e_salary) VALUES ("张三",‘男‘,23,5000);
添加字段
SQL:ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;
以上是关于ArcGIS Server 标准化SQL查询、SQL注入问题的测试总结的主要内容,如果未能解决你的问题,请参考以下文章