bugku web14 flag在index中

key:本地文件包含漏洞+php伪协议

bugku web14 flag在index中

 

 点击看到url中:114.67.246.176:10827/post/index.php?file=show.php

看到file,想到是一个文件包含漏洞。

1、file为关键字的get传递参数。

2、构造 file=php://filter/read=convert.base64-encode/source=index.php

3、得到base64编码,解码得到flag

注:1、php封装协议

2、file=php://filter/read=convert.base64-encode/resource=index.php的含义

首先这是一个file关键字的get参数传递

php://是一种协议名称

php://filter/是一种访问本地文件的协议

/read=convert.base64-encode/表示读取的方式是base64编码后

resource=index.php表示目标文件为index.php
3、为什么通过传递这个参数能得到源码

原因在于源代码中使用了include()函数,这个表示从外部引入php文件并执行,如果执行不成功,就返回文件的源码。

而include的内容是由用户控制的,所以通过我们传递的file参数,使include()函数引入了index.php的base64编码格式,因为是base64编码格式,所以执行不成功,会返回源码,由此我们得到了源码的base64格式,解码即可的到源码。

反观,如果不进行base64编码传入,就会直接执行,而flag的信息在注释中,是得不到的。

参考链接:https://blog.csdn.net/Mitchell_Donovan/article/details/111490374

 

bugku web14 flag在index中

上一篇:数据库基础


下一篇:SuperSocket 2.0学习07:WebSocket服务器