SQL注入攻击

一、漏洞描述 针对SQL注入的攻击行为可描述为通过在用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。 二、攻击场景及形成原因 漏洞成因可以归结为以下两个原因叠加造成的: 1. 程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句。 2. 未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。 SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入、报错注入和盲注 报错和回显注入显而易见,盲注有时容易被忽略: 在页面无返回的情况下,攻击者也可以通过例如延时等技术来实现发现和利用注入漏洞:select 1 from te where if((MID(version ......

MySQL安全配置

1、修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母、数字和符号组成的不规律密码。使用MySQL自带的命令mysaladmin修改root密码,同时也可以登陆数据库,修改数据库mysql下的user表的字段内容,修改方法如下所示: /usr/local/mysql/bin/mysqladmin -u root password “upassword” //使用mysqladmin mysql> use mysql; mysql> update user set password=password('upassword') where user='root'; mysql ......

MySQL 游标

### 游标的特性 1.不敏感:数据库可以选择不复制结果集 2.只读 3.不滚动:游标只能向一方向前进,并且不可以跳过任何一行数据 ### 游标的优点 1.游标是针对行操作的,对从数据库中 select 查询得到的结果集的 每一行可以 2.进行分开的独立的相同或者不相同的操作,是一种分离的思想。 ### 游标的缺点 1.性能不高 2.只能一行一行操作 3.使用游标会产生死锁,造成内存开销大 ### 游标的适用场景 存储过程 函数 触发器 事件 ### 游标的操作 ##### 1、游标的定义 DECLARE 光标名称 CURSOR FOR 查询语法 declare cursor_name cu ......

mysql千万级大数据SQL查询优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描。 4.应尽量避免在 where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t wher ......