MySQL写shell的问题

    1. 写shell用什么函数?
      • `select '<?php phpinfo()> into outfile 'D:/shelltest.php'`
      • `dumpfile`
      • `file_put_contents`
    2. outfile不能用了怎么办? `select unhex('udf.dll hex code') into dumpfile 'c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';`可以UDF提权https://www.cnblogs.com/milantgh/p/5444398.html
    3. dumpfile和outfile有什么不一样?outfile适合导库,在行末尾会写入新行并转义, 因此不能写入二进制可执行文件。
    4. sleep()能不能写shell?
    5. 写shell的条件?
      • 用户权限
      • 目录读写权限
      • 防止命令执行:`disable_functions`,禁止了

`disable_functions=phpinfo,exec,passthru,shell_exec,system,proc_ope n,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source`,但是可 以用dl扩展执行命令或者ImageMagick漏洞https://www.waitalone.cn/imagemagic-bypass-disable_function.html

open_basedir: 将用户可操作的文件限制在某目录下

mysql写shell的条件

1、网站可访问路径的绝对路径

2、secure_file_priv 的值非NULL或包含了导出的绝对路径

secure_file_priv的值在mysql配置文件my.ini中设置,这个参数用来限制数据导入导出Mysql>=5.5.53 默认为NULL,即默认禁止导入导出

Mysql<5.5.53 默认为空,即默认无限制

3、mysql服务有对网站可访问路径的写权限

4、mysql连接用户有FILE权限/ROOT用户或ROOT权限

5、GPC关闭//未对闭合用的引号转义

outfile 和 dumpfile的路径不支持hex,必须有引号包裹

mysql日志写shell

与导出函数写Shell相比,规避了 secure_file_priv 的限制

  1. 网站可访问路径的绝对路径
  2. mysql服务有对网站可访问路径的写权限
  3. mysql连接用户有权限开启日志记录和更换日志路径/ROOT权限
  4. GPC关闭/未对闭合用的引号转义

虽然日志路径可以hex编码,但被记入日志的查询语句中的shell内容需要引号包裹,加

`\`后传到数据库执行会报错,无法记录进日志

root权限

GPC 关闭(能使用单引号),magic_quotes_gpc=On 有绝对路径(读文件可以不用,写文件必须)

没有配置--secure-file-priv

成功条件:有读写的权限,有 create、insert、select 的权限

相关推荐
LinXunFeng6 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星11 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq11 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波11 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.11 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余11 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.11 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央11 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器11 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记