原文:数据库管理——安全管理——识别SQLServer中空密码或者弱密码的登录名

原文译自:

http://www.mssqltips.com/sqlservertip/2775/identify-blank-and-weak-passwords-for-sql-server-logins/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=2012925

微软一直建议使用复杂的强密码。弱密码或者空密码会导致安全漏洞。可以使用PWDCOMPARE安全性函数来找出这类型的登录名和使用复杂的强密码重置,以避免这方面的安全漏洞。

可以使用这个函数去查找空密码或者弱密码。通过传入两个参数“text_password”和password_hash来执行这个函数,如果 clear_text_password 的哈希与 password_hash 参数匹配,则返回 1;否则返回 0。当访问目录视图sys.sql_logins时把这个函数放到where子句中,可以检查是否有空密码或者弱密码。

步骤一:

先创建一些具有相同密码的登录名。这里创建两个登录名:mssqltips和mssqltips_1,并有相同的密码,并且都为空密码。然后为每个登录名创建一个对应的用户,并赋予对数据库的db_owner权限。

--Creating a Login which has same password as its login name. Then creating a user with same name

--and assigned it db_owner access.

CREATE LOGINmssqltips
WITH PASSWORD='mssqltips'

, CHECK_POLICY=OFF

go

use tempdb

go

CREATE
USER mssqltips forlogin
mssqltips

go

sp_addrolemember'db_owner',mssqltips

go

--Creating a Login without password. Then creating a user with same name and assigned it db_owner access.

CREATE LOGINmssqltips_1
WITH PASSWORD=''

, CHECK_POLICY=OFF

go

use tempdb

go

CREATE
USER mssqltips_1
for login mssqltips_1

go

sp_addrolemember'db_owner',mssqltips_1

go

步骤二:

现在测试相同密码,创建另外一个登录名“mssqltips_2”,并和mssqltips有相同密码。

--Creating a Login with common password. Then creating a user with same name and assigned it

--db_owner access.

CREATE LOGINmssqltips_2
WITH PASSWORD='mssqltips'

, CHECK_POLICY=OFF

go

use tempdb

go

CREATE
USER mssqltips_2
for login mssqltips_2

go

sp_addrolemember'db_owner',mssqltips_2

go

步骤三:

查询在SQLServer实体中弱密码的登录:

查找相同密码:

下面查询是返回所有具有相同密码的登录名,如mssqltips,把这个密码传到PWDCOMPARE函数去获取所有符合条件的登录名:

SELECT 
name ,

type_desc
,

create_date
,

modify_date
,

password_hash

FROM   
sys.sql_logins

WHERE   PWDCOMPARE('mssqltips',password_hash)
= 1 ;

截图显式mssqltips和mssqltips_2具有相同密码:

查找空密码:

执行以下语句:

SELECT 
name ,

type_desc
,

create_date
,

modify_date
,

password_hash

FROM   
sys.sql_logins

WHERE   PWDCOMPARE('',password_hash)
= 1 ;

得到以下结果:

查找密码和登录名相同的登录名:

SELECT 
name ,

type_desc
,

create_date
,

modify_date
,

password_hash

FROM   
sys.sql_logins

WHERE   PWDCOMPARE(name,password_hash)
= 1 ;

得到以下结果:

步骤四:

当你找到上面那些有问题的登录是,要重置成强密码,以保证服务器环境更加安全。

备注:截图是原文图片,而脚本,是把数据库从原文数据库改成tempdb。

数据库管理——安全管理——识别SQLServer中空密码或者弱密码的登录名的更多相关文章

  1. 强密码和弱密码并没有什么区别?NIST密码安全标准更新:不再建议密码要求混合大写字母、字符和数字

    作为一名认真负责的小编,每次注册账号设置密码的时候都是最痛苦的,太简单的怕被破解,太难的又记不住. 等你好不容易记住密码,三个月后IT同学过来拍拍你的肩膀,"你的密码到期了,记得改啊--&q ...

  2. sqlserver学习笔记(二)—— 创建登录名、用户名

    (重要参考:51自学网——SQL Server数据库教程) 登录名与用户名的区别: 1.登录名是指可以使用新建的登录名和密码登录数据库这个程序软件,但不能打开或展开用户自己创建的数据库: 2.用户名是 ...

  3. 测试教程网.unittest教程.3. 实例: 测试弱密码

    From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...

  4. 弱密码检测JR!

    1.JR(Joth the Ripper)简介·一款密码分析工具,支持字典式的暴力破解·通过对 shadow 文件的口令分析,可以检测密码·官方网站:http://www.openwall.com/j ...

  5. linux系统弱密码检测

    需要自备弱密码明文字典 from _utils.patrol2 import data_format,report_format,run_cmd import platform import cryp ...

  6. 基于Python+协程+多进程的通用弱密码扫描器

    听说不想扯淡的程序猿,不是一只好猿.所以今天来扯扯淡,不贴代码,只讲设计思想. 0x00 起 - 初始设计 我们的目标是设计一枚通用的弱密码扫描器,基本功能是针对不同类型的弱密码,可方便的扩展,比如添 ...

  7. SVN弱密码扫描(Python)

    寂寞如雪的用脑过度,所以来写个博客分享一下.#虽然上一篇博客我还没写完 SVN的弱密码,看起来很复杂,但实际上很简单啊= =虽然不像pymssql/mymssql这种,Python提供了很好用的包,但 ...

  8. ssl Diffie-Hellman弱密码问题

    title: ssl Diffie-Hellman弱密码问题 date: 2017-08-16 16:41:55 categories: 网络安全 tags: ssl Diffie-Hellman - ...

  9. 测试教程网.unittest教程.5. 实例: 找出所有是弱密码的用户

    From: http://www.testclass.net/pyunit/test_example_3/ 背景 当我们的测试数据是下面这些的时候,我们的用例是有问题的. [ {"name& ...

随机推荐

  1. 【Cloud Foundry】Could Foundry学习(三)——Router

    在阅读的过程中有不论什么问题.欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 一.概述 Router组件在Cloud Foundry中是对全部进来的Reque ...

  2. PDF数据防扩散系统方案

    在企业信息化过程中.大量的企业重要图纸和资料都是以电子文件的方式存在.为了避免内部关键数据的外泄,採取了多种方式:设计部门的门禁管制.防火墙.禁止计算机的USB接口等等. 可是泄密问题还是时有发生,原 ...

  3. 有关信息ACM/ICPC竞争环境GCC/G++叠插件研究记录的扩展

    0.起因 有时.DFS总是比BFS受人喜爱--毕竟DFS简单粗暴,更,而有些东西BFS不要启动,DFS它似乎是一个可行的选择-- 但是有一个问题,DFS默认直接写入到系统堆栈.系统堆栈和足够浅,此时O ...

  4. @font-face(css3属性)实如今网页中嵌入随意字体

    @font-face语法规则 @font-face { font-family: <YourWebFontName>; src: <source> [<format> ...

  5. Android的目录结构说明

  6. POJ2239_Selecting Courses(二分图最大匹配)

    解题报告 http://blog.csdn.net/juncoder/article/details/38154699 题目传送门 题意: 每天有12节课.一周上7天,一门课在一周有多天上课. 求一周 ...

  7. sitemap.xml

    内部类  在类内部的类 1.解决多继承 2.解决继承和实现接口时候方法名冲突情况 3.实现数据隐藏 只有内部类可以拥有4种访问修饰符 当内部类为private的时候,有外部类提供方法来访问内部类 常规 ...

  8. C++0x新特性

    我是在一个帖子上摘抄的大神语录...感谢supermegaboy大神,给了详尽的解释 下文是一篇转载的Wikipedia的译文,从语言和库双方面概述了C++0x. 右值引用与转移语义 在标准C++语言 ...

  9. Android应用开发-小巫CSDN博客client之显示博文具体内容

    Android应用开发-小巫CSDN博客客户端之显示博文具体内容 上篇博文给大家介绍的是怎样嵌入有米广告而且获取收益,本篇博客打算讲讲关于怎样在一个ListView里显示博文的具体信息.这个可能是童鞋 ...

  10. uva 1331 - Minimax Triangulation(dp)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=514&problem=4077&mosm ...