数据库安全

Sql 学习笔记

醉酒当歌 提交于 2020-03-28 04:20:01
一、数据库的基本操作 1. 数据库的创建 If Exists(Select Name from SysDatabases Where Name='Gmis_2009') Drop DataBase Gmis_2009 Go Create Database Gmis_2009 On Primary ( Name=Gmis_2009_data, FileName='C:\program Files\Data\Gmis_2009.mdf', Size=10MB, Filegrowth=1MB ), Filegroup FileGroup_Gmis_2009_1 ( Name=Gmis_2009_data_1, FileName='C:\programFiles\Data\Gmis_2009_data_1.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), ( Name=Gmis_2009_data_2, FileName='C:\program Files\Data\Gmis_2009_data_2.ndf', Size=2MB, MaxSize=10MB, FileGrowth=1MB ), FileGroup FileGroup_Gmis_2009_2 ( Name=Gmis_2009_data_3, FileName='C:

Web安全--Sql注入基础

风格不统一 提交于 2020-03-07 03:08:38
以下为视频笔记记录: SQL注入点的判断: 如果+1,-1页面有变化,就考虑联合查询,如果页面没有变化就考虑布尔类型,此时看是否有报错,如果有报错就是报错注入,如果没有报错也没有回显的话就看是否有布尔类型的状态,如果有布尔类型状态就考虑布尔盲注,如果以上都没有则看是否有延时注入 ?id = 35 + 1 / - 1 select * from tbName where id = 35 ?id = 35 ' 判断字符型还是数字型 select * from tbName where id=35' ?id = 35 and 1 = 1 是否有布尔类型的状态 ?id = 35 and 1 = 2 select * from tbName where id = 35 and 1 = 1 select * from tbName where id = 35 and 1 = 2 ?id = 35 and sleep ( 5 ) 是否有延时 四大基本手法: 联合查询 报错注入 布尔盲注 延时注入 demo注入点: http://localhost/show.php?id=33 注入点的判断: 对连接http://localhost/show.php?id=33是否是注入点进行判断 (1)变换id参数 当我们变换id 参数(33+1|33-1)的时候,发现同一个页面,show

第九章、安全管理

天涯浪子 提交于 2020-03-06 01:06:35
第九章、安全管理 内容提要: 1.理解安全控制的基本概念 2.了解SQL Server 2008的存取控制 3.掌握SQL Server 2008的安全控制实现方式 4.了解Oracle的安全管理 第一节 安全控制概述 数据库安全性不同于数据的完整性。 安全性:保护数据以防止不合法用户故意造成破坏。 (确保用户被允许做其想做的事情。) 完整性:保护数据以防止合法用户无意中造成的破坏。 (确保用户做的事情是正确的。) 1.数据库安全控制的目标   保护数据免受意外或故意的丢失、破坏或滥用。 2.数据库安全的威胁   安全计划需要考虑:可用性损失,机密性数据损失,私密性数据损失,偷窃和欺诈,意外的损害。 3.安全控制模型 包括四阶段: 身份验证(用户) 操作权限控制(数据库应用程序与数据库管理系统) 文件操作控制(操作系统) 加密存储与冗余(数据库) 4.授权和认证   认证是一种鉴定用户身份的机制。授权是将合法访问数据库或数据库对象的权限授予用户的过程。包括认证用户对对象的访问请求。   DBMS通常采用自主存取控制和强制存储控制两种方案来解决安全控制问题。 第二节 存取控制 1.自主存取控制 又称自主安全模式, 通过SQL的GRANT,REVOKE,DENY语句来实现。 权限种类:维护权限与操作权限(语句权限与对象权限) 用户分类:系统管理员(sa)、数据库对象拥有者、普通用户。

Web安全篇之SQL注入攻击

萝らか妹 提交于 2020-02-25 03:32:43
在网上找了一篇关于sql注入的解释文章,还有很多技术,走马观花吧 文章来源: http://www.2cto.com/article/201310/250877.html ps:直接copy,格式有点问题~ 大家早上好!今天由我给大家带来《web安全之SQL注入篇》系列晨讲,首先对课程进行简单介绍, SQL注入篇一共分为三讲: 第一讲:“纸上谈兵:我们需要在本地架设注入环境,构造注入语句,了解注入原理。”; 第二讲:“实战演练:我们要在互联网上随机对网站进行友情检测,活学活用,举一反三”; 第三讲:“扩展内容:挂马,提权,留门。此讲内容颇具危害性,不予演示。仅作概述”。 这个主题涉及的东西还是比较多的,结合我们前期所学。主要是让大家切身体会一下,管中窥豹,起到知己知彼的作用。千里之堤溃于蚁穴,以后进入单位,从事相关 程序开发 ,一定要谨小慎微。 问:大家知道骇客们攻击网站主要有哪些手法? SQL注入,旁注,XSS跨站,COOKIE欺骗,DDOS,0day 漏洞 ,社会工程学 等等等等,只要有数据交互,就会存在被入侵风险!哪怕你把网线拔掉,物理隔绝,我还可以利用传感器捕捉电磁辐射信号转换成模拟图像。你把门锁上,我就爬窗户;你把窗户关上,我就翻院墙;你把院墙加高,我就挖地洞。。。道高一尺魔高一丈,我始终坚信计算机不存在绝对的安全,你攻我防,此消彼长,有时候,魔与道只在一念之间。 下面

怎么保证数据库的安全?

落花浮王杯 提交于 2020-02-15 22:01:33
在这个数据智能、数据驱动业务的时代,用于承载数据的数据库的安全性显得尤为重要。如何防止数据被窃取、防止SQL注入、防止非法登录,都是保障安全性时要考虑的问题。 数据库服务器账号设置 可以通过创建子账号,给子账号授予特定权限,来实现管控。 数据库用户设置 登录到服务器之后,就涉及到数据库层面的权限管控了。 创建数据库账号 授予账号权限 限制账号登录的IP 网络隔离 安全性上来说,专有网络 > 经典网络 > 公网(外网) 所以优先 使用专有网络 。 防火墙/白名单 设置访问数据库的白名单 数据加密 数据加密包括链路的加密和数据存储的加密。 链路加密SSL 透明数据加密TDE 云盘加密 参考: 数据库安全性 数据库安全白皮书 来源: CSDN 作者: yoscool 链接: https://blog.csdn.net/vincent52/article/details/104333647

MySQL服务安全加固

我与影子孤独终老i 提交于 2020-02-09 19:46:50
转载来源 : https://help.aliyun.com/knowledge_detail/49568.html 介绍 数据库管理人员可以参考本文档进行 MySQL 数据库系统的安全配置加固,提高数据库的安全性,确保数据库服务稳定、安全、可靠地运行。 漏洞发现 您可以使用安骑士企业版自动检测您的服务器上是否存在 MySQL 漏洞问题,或者您也可以自己排查您服务器上的 MySQL 服务是否存在安全问题。 安全加固 1、帐号安全 禁止 Mysql 以管理员帐号权限运行 以普通帐户安全运行 mysqld,禁止以管理员帐号权限运行 MySQL 服务。在 /etc/my.cnf 配置文件中进行以下设置。 [ mysql . server ] user = mysql 避免不同用户间共享帐号 参考以下步骤。 a、创建用户。 mysql > mysql > insert into mysql . user ( Host , User , Password , ssl_cipher , x509_issuer , x509_sub ject ) values ( "localhost" , "pppadmin" , password ( "passwd" ) , '' , '' , '' ) ; 执行以上命令可以创建一个 phplamp 用户。 b、使用该用户登录 MySQL 服务。

数据库安全管理

妖精的绣舞 提交于 2020-02-04 22:35:28
文章目录 数据库安全管理 用户管理 角色管理 权限管理 数据库安全管理 用户管理 (1)创建登录账户 (2)管理登录账户 查看登录账户:exec sp_helplogins 登录账户名 修改登录账户: 密码修改: exec sp_password 旧密码 新密码 登录账户 修改默认数据库:exec sp_defaultdb 登录账户 数据库名 修改默认语言: exec sp_defaultlanguage 登录账户 语言名 (3)删除登录账户:sp_droplogin 登录账户名 (1)创建数据库用户:exec sp_grantdbacedd 登录账户 用户名 (2)删除数据库的用户:exec sp_revokedbaccess 用户名 角色管理 固定数据库角色管理: (1)添加数据库角色 (2)删除固定数据库成员 (3)查看数据库固定成员信息 用户定义数据库角色: (1)创建和删除用户定义数据库角色 (2)添加和删除用户数据库角色成员 权限管理 (1)语句权限: creatdatabase 创建数据库 create table 在数据库中创建表 create view 在数据库中创建视图 create default 在数据库中创建默认对象 create procedure 在数据库中创建存储过程 create function 在数据库中创建函数 backup database

Web安全-SQL注入:MySQL注入天书(5-6) Blind Injection

坚强是说给别人听的谎言 提交于 2020-02-02 03:41:35
文章目录 内容 布尔型盲注########## 注入点判断 撞数据库版本 撞数据库名 使用sqlmap做布尔型盲注的猜解 内容 MySQL注入天书 Less5 - Less6 布尔型盲注########## 从注入点判断到用 ORDER BY 判断出列数都和前面的一样 只是想用 UNION SELECT 时发现页面并不回显数据库中的信息 而只是根据一个布尔值回显 You are in... 或者什么都不显示 这种类型的注入称为布尔型盲注 Boolean Based Blind Injection 打个比方 Error Based型注入像一个傻白甜 你问她:你现在的用户是谁啊? 她就会告诉你:是root Boolean Based型盲注就是单纯的傻,没有白甜 你问她:你现在的用户是谁啊? 她就不说话 那你只能问:你现在的用户是root嘛? 她会回答是或不是 注入点判断 单引号判断法 所以构造payload如下 ?id = 1 ' AND your_payload % 23 id需为合法id,这样做AND运算才可判断出payload的布尔值 撞数据库版本 截取version的前三个字符,判断是否等于5.6或5.7等等等等 返回Boolean值,与id的选择结果作AND 根据最终是否有回显判断payload的布尔值 这样就知道数据库版本为5.7了

【web安全】sql注入之盲注靶场实战

浪子不回头ぞ 提交于 2020-02-02 03:08:28
第一题 打开靶场,输入id参数 页面显示内容,然后直接输入 ?id=1' and 666=666 -- yuyu 页面显示正常 然后输入 ?id=1' and 666=888 -- yuyu 发现页面不正常 但是没有报错,猜测存在盲注 然后就直接查一下数据库的名字的长度,输入 ?id=1' and length((select database()))>10 -- yuyu 发现页面还是显示不正常 就猜测数据库的名字长度少于或等于10,然后继续猜,输入 ?id=1' and length((select database()))>5 -- yuyu 发现页面显示正常了 就猜测数据库的名字大于5,少于或等于10,然后就继续猜,输入 ?id=1' and length((select database()))>8 -- yuyu 发现页面不正常 就继续猜 ?id=1' and length((select database()))>7 -- yuyu 页面正常 然后继续猜 ?id=1' and length((select database()))>9 -- yuyu 猜到大于7,不大于8和9 就试试等于8 ?id=1' and length((select database()))=8 -- yuyu 发现页面正确 就猜到数据库名字长度是8

SQL注入攻击

随声附和 提交于 2020-02-01 03:50:28
SQL注入攻击即是对数据库进行攻击,主要原因是程序员在编写代码时没有对用户输入数据的合法性进行判断,是程序存在安全隐患。用户提交一段数据库查询代码,根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的 防火墙 都不会对SQL注入发出警报,如果管理员没查看 IIS 日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。 SQL注入攻击的整体思路 ·发现SQL注入位置; ·判断后台数据库类型; ·确定XP_CMDSHELL可执行情况 ·发现WEB虚拟目录; ·上传 ASP木马 ; ·得到管理员权限; SQL注入的操作步骤 一:SQL注入漏洞的判断 SQL注入一般存在于形如:HTTP://xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。