phpMyAdmin 能用 INTO OUTFILE 写 WebShell,因 MySQL 允许将 SELECT 结果写入服务器文件系统,配合空字符串语句可生成木马;需同时具备 FILE 权限且 secure_file_priv 配置不当。phpMyAdmin 为什么能用 INTO OUTFILE 写 WebShell因为 mysql 的 into outfile 允许把查询结果直接写入服务器文件系统,配合 select '<?php eval(_post\[1\]);?\>' 这类语句,就能生成一句话木马。只要攻击者有数据库账号(哪怕只有 select 权限),且 mysql 配置了 secure_file_priv 为空或指向 web 可访问目录,就可能成功。禁用 INTO OUTFILE 的三个实际操作点光在 phpMyAdmin 界面里删权限没用,得从 MySQL 层面切断能力:回收用户 FILE 权限:执行 REVOKE FILE ON \*.\* FROM 'username'@'%';;仅靠 DROP 或 INSERT 权限无法绕过此限制设置 secure_file_priv 为 NULL 或只读路径:在 my.cnf 中加 secure_file_priv = /tmp/(确保该路径不可执行、不在 Web 根目录下);设为 secure_file_priv = "" 是危险的,MySQL 8.0+ 已不支持空值重启 MySQL 生效:修改配置后必须重启服务,SET GLOBAL secure_file_priv = ... 在运行时不可更改phpMyAdmin 侧还要关掉哪些功能即使 MySQL 层禁了 INTO OUTFILE,phpMyAdmin 自身的导出功能也可能被滥用(比如导出为 CSV 后改后缀上传):在 config.inc.php 中禁用危险导出格式:cfg'Export''disable_mime' = true;,并移除 php、sql(若非必要)等导出选项关闭「保存到服务器」功能:cfg\['SaveDir'\] = '';,避免用户把导出文件存到 Web 目录检查 cfg'UploadDir' 是否为空或指向非 Web 路径;若启用,确保该目录无执行权限(如 chmod 755 且不配 PHP 解析)验证是否真禁掉了 INTO OUTFILE别信配置文件改了就完事,登录 MySQL 命令行亲自试一句:SELECT 'test' INTO OUTFILE '/tmp/test.txt';如果返回 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 或 ERROR 1045 (28000): Access denied for user ... (using password: YES),说明生效;如果写入成功,说明 FILE 权限还在或 secure_file_priv 没生效。 Fotor AI Image Generator Fotor 平台的 AI 图片生成器
相关推荐
hey you~4 小时前
400电话选型技术测评:一个开发视角的线路质量评估方案谙忆4 小时前
Python 常用图像处理库速查:Pillow、OpenCV、rembg、pillow-simd 各擅长什么、怎么选Database_Cool_4 小时前
实时计数器/排行榜首选:阿里云 Tair 高并发数据结构实践敲代码的猴先生4 小时前
论文分享 | TensorAbuse:通过滥用TensorFlow API将AI模型转化为恶意软件言乐64 小时前
Python视频相对亮度检测Csvn4 小时前
Python 开发技巧 · logging 最佳实践 —— 告别 print,搭建工程级日志系统并不喜欢吃鱼4 小时前
从零开始 C++----- 十五.一文吃透 C++ 异常:try-catch、栈展开、自定义异常、异常安全 noexcept 底层全剖析ShallWeL4 小时前
【机器学习】(16)—— 数值数据gr95ZS6E64 小时前
基础入门java安全(一)--CC1基础分析极度的坦诚就是无坚不摧4 小时前
数据分析DAY1-Python基础