pikachu通关教程-RCE
目录
RCE(remote command/code execute)概述:
exec "ping"
管道符
乱码问题
RCE(remote command/code execute)概述:
RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统
分为远程代码和远程命令两种.当对方存在或者提供相应的api接口
exec "ping"
这里介绍一下管道符,因为如果对ping命令功能的设计,没有做好防护,比如可以输入多条命令的时候,我们可以通过管道符做一些意想不到的事情。
管道符
管道符 | 实例 | 描述 |
; | A;B | 无论真假,A与B都执行 |
& | A&B | 无论真假,A与B都执行 |
&& | A&&B | A为真时才执行B,否则只执行A |
| | A|B | 显示B的执行结果 |
|| | A||B | A为假时才执行B,否则只执行A |
当我们正常操作的时候,会出现如下操作:
这时候就可以尝试使用管道符,可以尝试简单的操作127.0.0.1|whoami
这样我们可以拿来进行用户的信息获取和一些操作。
代码分析
if(isset($_POST['submit']) && $_POST['ipaddress']!=null){$ip=$_POST['ipaddress'];
// $check=explode('.', $ip);可以先拆分,然后校验数字以范围,第一位和第四位1-255,中间两位0-255if(stristr(php_uname('s'), 'windows')){
// var_dump(php_uname('s'));$result.=shell_exec('ping '.$ip);//直接将变量拼接进来,没做处理}else {$result.=shell_exec('ping -c 4 '.$ip);}}
通过psot,获取ipaddress,然后对操作系统的类型进行一个判断,然后进行一个ping命令的拼接,这里是没有做任何处理的,我们可以看注释,对此类操做我们可以拆分校验,先做一个判断,就可以很好的防止此类型攻击。
乱码问题
打开对应的php文件,输入下面代码,保存即可。
header("Content-type:text/html;charset=gb2312");
exec "eval"
这里要介绍php中的一个函数eval,会将符合PHP 语法规范字符串当作php代码,执行当我们去尝试输入字符串时,会正常显示,但是当我们输入一个phpinfo(); ,这时候就不一样了。
代码分析
当用户点击了提交按钮,并在 txt
输入框中输入了内容时,把用户输入的 txt
内容当成 PHP 代码执行,如果执行失败或返回值为“假”(比如返回 null
或空),则进入 if
语句块。其实只要不要使用类似的函数即可,或者不要将此方法提供给用户。
$html='';
if(isset($_POST['submit']) && $_POST['txt'] != null){if(@!eval($_POST['txt'])){$html.="<p>你喜欢的字符还挺奇怪的!</p>";}}
相关文章:

pikachu通关教程-RCE
目录 RCE(remote command/code execute)概述: exec "ping" 管道符 乱码问题 RCE(remote command/code execute)概述: RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统 分为远程代码和远程命令两种.当…...

MyBatisPlus--快速入门
MyBatisPlus介绍 从名字中就可以感觉到MybatisPlus与MyBatis之间的渊源,而MyBatis是一个非常流行的持久层框架,主要来做数据库的增删改查,而MyBatisPlus这种命名方式让人不得不往MyBatis的升级版去联想,事实也确实如此࿰…...

鸿蒙 HarmonyOS - SideBarContainer 组件自学指南
在日常开发中,如果你有类似「左侧导航 右侧内容」的布局需求,比如后台管理界面、文件管理器、设置页等,SideBarContainer 是非常值得掌握的组件。它自带侧边栏和主内容区的分离机制,还支持折叠、拖拽、控制按钮和多种显示…...
数据交易场景的数据质量评估
在现代数字化时代,数据已成为推动商业发展的核心驱动力。基于不同的交易产品和业务场景,数据产品的质量和准确性直接影响到数据资产的价值及其在市场中的流通性。因此,为数据产品提供全面、深入的数据质量评估报告,不仅有助于提升…...

C++ list基础概念、list初始化、list赋值操作、list大小操作、list数据插入
list基础概念:list中的每一部分是一个Node,由三部分组成:val、next、prev(指向上一个节点的指针) list初始化的代码,见下 #include<iostream> #include<list>using namespace std;void printL…...
39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法)
39. 自动化异步测试开发之编写异步业务函数、测试函数和测试类(函数写法) 一、异步业务函数解析 1.1 页面导航函数 async def get(async_driver, url: str http://secure.smartbearsoftware.com/samples/testcomplete12/WebOrders/Login.aspx):await…...
Go语言defer关键字:延迟执行的精妙设计
深度解析Go语言defer关键字:延迟执行的精妙设计 引言 在Go语言中,defer语句是一种独特而强大的控制流机制,它通过延迟执行的方式解决资源管理、错误处理和异常恢复等关键问题。理解defer的工作原理是掌握Go并发编程和错误处理的关键…...
提升WSL中Ubuntu编译速度的完整指南
在 WSL(Windows Subsystem for Linux)中使用 make 编译项目时,如果发现编译速度非常慢,通常是由以下几个原因导致的。以下是一些常见的排查和优化方法: 🔍 一、常见原因及解决方案 ✅ 1. 文件系统性能问题…...

【Linux 学习计划】-- 命令行参数 | 环境变量
目录 命令行参数 环境变量 环境变量的本质是什么? 相关配置文件 修改环境变量的相关操作 代码获取env —— environ 内建命令 结语 命令行参数 试想一下,我们的main函数,也是一个函数,那么我们的main函数有没有参数呢&am…...

服务器Docker容器创建与VScode远程连接SSH使用
一、拉取容器 1、win r 输入cmd打开终端命令行 2、终端输入 ping 192.168.xx.xxx 查看是否连接到服务器。如输出显示“字节 时间 TTL”等如下界面,则连接成功。否则输出“请求超时” 如果不能连接,则需要修改设备的IP,需要在设置-网络和In…...
体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道
摘要:随着物联网的飞速发展,个人信息在物联网环境下面临的安全风险日益严峻。本文深入探讨了物联网环境下个人信息泄露的主要途径,分析了当前个人信息安全保护面临的挑战,并从技术、法律、企业责任和个人意识等多方面提出了相应的…...

LiveQing 视频点播流媒体 RTMP 推流服务功能:搭建 RTMP 视频流媒体服务详细指南
LiveQing视频点播流媒体RTMP推流服务功能:搭建RTMP视频流媒体服务详细指南 一、流媒体服务搭建二、推流工具准备三、创建鉴权直播间四、获取推流地址五、配置OBS推流六、推流及播放七、获取播放地址7.1 页面查看视频源地址7.2 接口查询 八、相关问题解决8.1 大疆无人…...

LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 · 下
前五道题:LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 上 题目:577. 员工奖金 题解: select r.name,b.bonus from Employee r left join Bonus b on r.empIdb.empId where b.bonus <1000 or b.bonus is nul…...

【正点原子STM32】RS485串行通信标准(串口基础协议 和 MODBUS协议、总线连接、通信电路、通信波形图、RS485相关HAL库驱动、RS485配置步骤、)
一、RS485介绍 二、RS485相关HAL库驱动介绍 三、RS485配置步骤 四、编程实战 五、总结 串口、 UART、TTL、RS232、RS422、RS485关系 串口、UART、TTL、RS232、RS422和RS485之间的关系可以如此理解: 串口:是一个广义术语,通常指的是采用串行通…...
从SPDY到HTTP/2:网络协议的革新与未来
从SPDY到HTTP/2:网络协议的革新与未来 在互联网的发展史上,协议的演进始终是推动用户体验提升的关键。从早期的HTTP/1.1到如今的HTTP/2,再到即将全面普及的HTTP/3,每一次变革都伴随着性能、安全性和效率的突破。今天,…...

在力扣刷题中触摸算法的温度
在代码的世界里,每一道力扣题目都是一扇通往未知的门。当我推开这些门,与内置求和函数、二进制位运算、辗转相减思想以及链表结构相遇时,才真正触摸到算法的温度 —— 那是一种理性与智慧交织的炽热,也是思维不断淬炼的滚烫。 最…...

外部访问可视化监控 Grafana (Windows版本)
Grafana 是一款通用,美观的,强大的可视化监控指标的展示工具。可以将不同的数据源数据以图形化的方式展示。它支持多种数据源,如 Prometheus 等,可以满足不同的需求。也可以通过插件和 API 进行扩展满足各种需求,…...

通用的防御框架,用于抵御(多模态)大型语言模型的越狱攻击
大家读完觉得有帮助记得关注!!! 摘要 尽管(多模态)大型语言模型(LLMs)因其卓越的能力而受到广泛关注,但它们仍然容易受到越狱攻击。已经提出了各种防御方法来防御越狱攻击ÿ…...
聊聊JVM怎么调优?(实战总结)
JVM 核心配置与调优指南 一、堆内存与年轻代配置(影响最大) 堆内存大小: 在资源允许的前提下,堆内存应尽可能设置得更大。关键点: 必须将堆内存的最大值 (-Xmx) 和最小值 (-Xms) 设置为相同值。动态扩容会触发 Full G…...

新能源汽车电控系统的精准守护者PKDV5355高压差分探头
在新能源汽车的"心脏"——电控系统中,每一次电流的精准切换都关乎车辆的性能与安全。PRBTEK PKDV5355高压差分探头就像一位经验丰富的"汽车医生",帮助工程师们精准捕捉IGBT模块的每一次"心跳",确保电驱系统健康…...

C# 导出word 插入公式问题
最近遇到了一个问题,下载一个文档时需要下载word可编辑的公式。找了很久终于找到了一种解决办法。下面是以C#代码来实现在Word中插入公式的功能。 目录 一、引入dll程序集文件1、通过 NuGet 引入dll(2种方法)的方法:2、手动添加d…...

Mac安装配置InfluxDB,InfluxDB快速入门,Java集成InfluxDB
1. 与MySQL的比较 InfluxDBMySQL解释BucketDatabase数据库MeasurementTable表TagIndexed Column索引列FieldColumn普通列PointRow每行数据 2. 安装FluxDB brew update默认安装 2.x的版本 brew install influxdb查看influxdb版本 influxd version # InfluxDB 2.7.11 (git: …...

手撕Java+硅基流动实现MCP服务器教程
手撕Java硅基流动实现MCP服务器教程 一、MCP协议核心概念 MCP是什么 MCP 是 Anthropic (Claude) 主导发布的一个开放的、通用的、有共识的协议标准。 ● MCP 是一个标准协议,就像给 AI 大模型装了一个 “万能接口”,让 AI 模型能够与不同的数据源和工…...

EasyRTC嵌入式音视频通信SDK助力1v1实时音视频通话全场景应用
一、方案概述 在数字化通信需求日益增长的今天,EasyRTC作为一款全平台互通的实时视频通话方案,实现了设备与平台间的跨端连接。它支持微信小程序、APP、PC客户端等多端协同,开发者通过该方案可快速搭建1v1实时音视频通信系统,适…...

Prometheus学习之pushgateway和altermanager组件
[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# pwd /usr/local/alertmanager-0.28.1.linux-amd64[rootnode-exporter41 /usr/local/alertmanager-0.28.1.linux-amd64]# cat alertmanager.yml # 通用配置 global:resolve_timeout: 5msmtp_from: 914XXXXX…...

01 redis 的环境搭建
前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…...

《操作系统真相还原》——加载器
显存 将上一章的中断输出,变为显存输出 加载器 使用mbr引导程序从磁盘中加载loader程序。 MBR %include "boot.inc" SECTION MBR vstart0x7c00 mov ax,cs mov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,ax;cl…...
电网即插即用介绍
一、统一设备信息模型与标准接口 实现即插即用功能的基础在于建立统一的设备信息模型。不同厂家生产的各类电网设备,其内部结构、通信协议、数据格式等往往千差万别。通过制定统一的设备信息模型,能够对设备的各种属性、功能以及接口进行标准化定义&…...

HJ25 数据分类处理【牛客网】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ25 数据分类处理 一、题目描述 二、测试用例 三、解题思路 基本思路: 首先理解题目,题目要求对规则集先进行排序,然后去重,这一步我…...
spring-boot redis lua脚本实现滑动窗口限流
因为项目中没有集成redisson,但是又需要用到限流,所以简单的将redisson中限流的核心lua代码移植过来,并进行改造,因为公司版本的redis支持lua版本为5.1,针对于长字符串的数字,使用tonumber转换的时候会得到…...