最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL客戶端任意文件讀取漏洞方式

 更新時間:2025年02月22日 08:41:08   作者:不會畫畫的畫師  
本文介紹了MySQL服務(wù)端反向讀取客戶端任意文件的漏洞原理,利用LOADDATAINFILE語法實現(xiàn),通過偽造MySQL服務(wù)器,客戶端讀取的文件內(nèi)容由服務(wù)端決定,漏洞復(fù)現(xiàn)步驟包括獲取腳本、修改配置、運行服務(wù)器、客戶端連接并查看日志,防范措施包括使用SSL模式和設(shè)置local_infile為0

原理

1、通信機制

由于MySQL服務(wù)端和客戶端通信過程是通過對話形式完成的??蛻舳税l(fā)送一個操作請求,服務(wù)端會根據(jù)客戶端發(fā)送的請求進行響應(yīng)。

在這個通信過程中,如果一個操作需要兩步才能完成,當客戶端發(fā)完第一個請求后,它會直接丟棄第一個請求,并不會做存儲;然后客戶端會根據(jù)服務(wù)端的響應(yīng),進行第二個請求,此時服務(wù)端就可以欺騙客戶端。

2、語法說明

MySQL服務(wù)端反向讀取客戶端的任意文件是利用了LOAD DATA INFILE語法,該語法主要用于讀取文件內(nèi)容并插入到表中。

-- 讀取服務(wù)端本地文件,并插入到表中
load data infile "/data/data.csv" into table test_table;
-- 讀取客戶端本地文件,并插入到表中
load data local infile "/data/data.csv" into table test_table;

針對該語法,MySQL官方文檔原文:

In theory, a patched server could be built that would tell the client program to transfer a file of the server’s choosing rather than the file named by the client in the LOAD DATA statement.” 從理論上講,可以構(gòu)建一個經(jīng)過修補的服務(wù)器,該服務(wù)器會指示客戶端程序傳輸由服務(wù)器選擇的文件,而不是客戶端在 LOAD DATA 語句中指定的文件.

即客戶端讀取的文件內(nèi)容,并不是由客戶端決定的,而是根據(jù)服務(wù)端的響應(yīng)決定的,于是就可以偽造MySQL服務(wù)器,實現(xiàn)通信示例3的效果。

舉例說明:

  1. 一般流程:
  • 客戶端:請把表test的數(shù)據(jù)給我看看
  • 服務(wù)端:請查收表test的數(shù)據(jù)
  • 通信結(jié)束...
  1. LOAD DATA INFILE正常流程
  • 客戶端:我將把我本地的data.csv文件發(fā)給你插入到表test
  • 服務(wù)端:好的,請讀取你本地的data.csv文件內(nèi)容并發(fā)給我
  • 客戶端: 這是文件里的數(shù)據(jù):1234567
  • 通信結(jié)束...
  1. LOAD DATA INFILE欺騙流程
  • 客戶端:我將把我本地的data.csv文件發(fā)給你插入到表test
  • 服務(wù)端:好的,請讀取你本地的/etc/passwd文件內(nèi)容并發(fā)給我
  • 客戶端: 這是文件里的數(shù)據(jù):xxxxxx(/etc/passwd文件中內(nèi)容)
  • 通信結(jié)束...

漏洞復(fù)現(xiàn)

1、在服務(wù)端服務(wù)器獲取https://github.com/allyshka/Rogue-MySql-Server的腳本

2、修改rogue_mysql_server.py設(shè)置要讀取的文件名

rogue_mysql_server.py中的filelist 為要讀取的文件地址,例如可改為:

filelist = (
    '/etc/passwd',
)

3、在服務(wù)端服務(wù)器python2運行rogue_mysql_server.py,服務(wù)器開放端口和防火墻即可

說明: 使用python3會報錯。

4、客戶端連接:在目標服務(wù)器使用mysql指令連接

說明: mysql客戶端需為8.0以下,否則可能無法獲取到想要的數(shù)據(jù)。

5、在服務(wù)端服務(wù)器的rogue_mysql_server.py路徑下,會生成一個mysql.log文件,其中就記錄了客戶端服務(wù)器的文件內(nèi)容.

使用場景

1、利用該漏洞,讀取目標服務(wù)器上的任意文件

2、利用目標網(wǎng)站能連接外部數(shù)據(jù)庫的功能點,讀取目標服務(wù)器上的任意文件

防范措施

1.使用--ssl-mode=VERIFY_IDENTITY來建立可信的連接

2.mysql客戶端設(shè)置local_infile為0

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL獲取二維數(shù)組字符串的最后一個值的實現(xiàn)代碼

    MySQL獲取二維數(shù)組字符串的最后一個值的實現(xiàn)代碼

    這篇文章主要介紹了MySQL獲取二維數(shù)組字符串的最后一個值的實現(xiàn),文中有詳細的代碼示例供大家參考,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • MySql中的longtext字段的返回問題及解決

    MySql中的longtext字段的返回問題及解決

    這篇文章主要介紹了MySql中的longtext字段的返回問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • mysql數(shù)據(jù)庫如何求時間差

    mysql數(shù)據(jù)庫如何求時間差

    這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫如何求時間差的相關(guān)資料,MySQL提供了許多用于計算時間差的函數(shù),可以方便地計算兩個時間之間的時間差、取出時間段中的時間間隔等,需要的朋友可以參考下
    2023-08-08
  • 達夢數(shù)據(jù)庫兼容mysql?GROUP?BY查詢的設(shè)置方式

    達夢數(shù)據(jù)庫兼容mysql?GROUP?BY查詢的設(shè)置方式

    作為一名數(shù)據(jù)庫管理員或開發(fā)者,當項目需要從MySQL遷移到達夢數(shù)據(jù)庫時,最關(guān)心的莫過于兼容性問題,這篇文章主要介紹了達夢數(shù)據(jù)庫兼容mysql?GROUP?BY查詢的設(shè)置方式,需要的朋友可以參考下
    2025-11-11
  • Mac?Homebrew安裝的MySQL無法遠程登錄的解決

    Mac?Homebrew安裝的MySQL無法遠程登錄的解決

    這篇文章主要介紹了Mac?Homebrew安裝的MySQL無法遠程登錄的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • MySQL表分區(qū)的幾種實現(xiàn)

    MySQL表分區(qū)的幾種實現(xiàn)

    本文主要介紹了MySQL表分區(qū)的幾種實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • PostgreSQL與MySQL區(qū)別全面對比詳析

    PostgreSQL與MySQL區(qū)別全面對比詳析

    MySQL和PostgreSQL都是強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),但它們適用于不同的用例和需求,下面這篇文章主要介紹了PostgreSQL與MySQL區(qū)別全面對比的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-12-12
  • 教你3個步驟為Mysql添加只讀賬號

    教你3個步驟為Mysql添加只讀賬號

    只要公司有數(shù)據(jù)團隊的那免不了讓這幫家伙把全公司的數(shù)據(jù)庫數(shù)據(jù)都摸一遍,但是要是直接把root用戶給了他們有點危險,于是只能給設(shè)權(quán)限,這篇文章主要給大家介紹了關(guān)于如何通過3個步驟為Mysql添加只讀賬號的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • MySQL配置文件my.ini全過程

    MySQL配置文件my.ini全過程

    這篇文章主要介紹了MySQL配置文件my.ini全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • sqlmap注入圖文詳解

    sqlmap注入圖文詳解

    sqlmap 是一個自動SQL 射入工具。本文收集了一些利用Sqlmap做注入測試的TIPS,其中也包含一點繞WAF的技巧,便于大家集中查閱,希望能給你帶來幫助
    2021-08-08

最新評論

温州市| 大城县| 菏泽市| 凌云县| 泰安市| 缙云县| 尚义县| 高陵县| 凌云县| 锡林郭勒盟| 乌拉特前旗| 海晏县| 汝阳县| 嘉峪关市| 汉源县| 鸡东县| 沙雅县| 汤原县| 富民县| 深水埗区| 三江| 荆州市| 拉孜县| 江源县| 遂平县| 夹江县| 顺平县| 招远市| 岑巩县| 新绛县| 明光市| 县级市| 乌海市| 郯城县| 定结县| 鲁甸县| 银川市| 东乡县| 南通市| 桐庐县| 灵山县|