攻防世界-fileinclude

每日一题,自己写出来的就记一下,写不出来也寄一下

分析

网页首页显示的信息,啥也看不出来,来看看源代码

源码里面给出了index.php的代码,前四行与解题没有关系(我是这么认为的),看到$lan = $_COOKIE['language'];就知道要再cookie中传递名称为language的参数。添加cookie之后,就会执行else里面的语句——@include($lan.”.php”);,拼接变量lan和.php之后再用函数include引用,学习ctf基础的人都知道,这是有漏洞的。

构造payload

一篇介绍php伪协议相关知识的文章文件包含&PHP伪协议利用_<?php echo file_get_contents("php://input"); ?>-CSDN博客

Payload

language=php://filter/read=convert.base64-encode/resource=flag

我这里使用的是edge浏览器,使用控制台向站点中添加cookie

docement.cookie="language=php://filter/read=convert.base64-encode/resource=flag"

刷新页面,得到flag.php文件内容base64加密后的密文

完活

对上面的密文解密后找到flag

cyberpeace{3013b968ea0f8ba917ccb44eec5cfd83}

P.S. 为什么language不直用flag?即language=flag,因为我试过了,不好使,解密一看flag.php的内容就知道为啥了。这里提一嘴就是想表达一下,做题思路有很多,对于我们小白来说,找到正确答案可能要多次尝试,甚至找不出来,多积累才能进步。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值