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

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

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

原理

1、通信機制

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

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

2、語法說明

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

-- 讀取服務端本地文件,并插入到表中
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.” 從理論上講,可以構建一個經(jīng)過修補的服務器,該服務器會指示客戶端程序傳輸由服務器選擇的文件,而不是客戶端在 LOAD DATA 語句中指定的文件.

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

舉例說明:

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

漏洞復現(xiàn)

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

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

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

filelist = (
    '/etc/passwd',
)

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

說明: 使用python3會報錯。

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

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

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

使用場景

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

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

防范措施

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

2.mysql客戶端設置local_infile為0

總結

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

相關文章

  • 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ù)庫如何求時間差

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

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

    作為一名數(shù)據(jù)庫管理員或開發(fā)者,當項目需要從MySQL遷移到達夢數(shù)據(jù)庫時,最關心的莫過于兼容性問題,這篇文章主要介紹了達夢數(shù)據(jù)庫兼容mysql?GROUP?BY查詢的設置方式,需要的朋友可以參考下
    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都是強大的關系型數(shù)據(jù)庫管理系統(tǒng),但它們適用于不同的用例和需求,下面這篇文章主要介紹了PostgreSQL與MySQL區(qū)別全面對比的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-12-12
  • 教你3個步驟為Mysql添加只讀賬號

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

    只要公司有數(shù)據(jù)團隊的那免不了讓這幫家伙把全公司的數(shù)據(jù)庫數(shù)據(jù)都摸一遍,但是要是直接把root用戶給了他們有點危險,于是只能給設權限,這篇文章主要給大家介紹了關于如何通過3個步驟為Mysql添加只讀賬號的相關資料,需要的朋友可以參考下
    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

最新評論

天气| 肇源县| 赤水市| 巨野县| 东丽区| 江达县| 财经| 喀喇沁旗| 湖口县| 光山县| 疏勒县| 新干县| 桐乡市| 荣成市| 天柱县| 阿坝| 大理市| 古浪县| 渝中区| 永福县| 施甸县| 醴陵市| 怀远县| 辽中县| 大荔县| 商城县| 晋中市| 绿春县| 夏邑县| 灵丘县| 望谟县| 辽阳市| 九寨沟县| 潜山县| 涪陵区| 伊金霍洛旗| 和静县| 康平县| 青岛市| 安岳县| 鲜城|