WEB攻防-通用漏洞-文件包含

Sisuuu. 2024-05-10 17:33:44

 

一、什么是文件包含

文件包含简单来说就是引用文件。有些代码段经常能够被用到,为了避免重复敲写这一代码段,

则就将这一代码段单独放入到一个文件中,需要用时就调用出来。例如在PHP中就是利用

include进行引用(而include能够将任意种类文件(jpg、png等)中带有的代码进行解析,

为后门代码解析提供了环境)

二、文件包含种类

1、本地文件包含

2、远程文件包含

三、文件包含漏洞-黑盒

1、黑盒主要就是看参数传递的数据是否是有文件后缀

2、三种攻击方式

     1)配合文件上传进行攻击。例如图片带有脚本后门代码,但是没有解析环境,可包含这个图

    片,图片中的代码被解析触发

    2)配合日志文件或会话文件进行攻击

    3)运用相关语言可允许的协议进行攻击

php伪协议:php伪协议:[PHP伪协议总结 - 个人文章 - SegmentFault 思否](https://segmentfault.com/a/1190000018991087)

3、案例以及复现

ctfshow所有文件包含题(本笔记仅记录部分题)

     1)web78

     使用php://input协议

     使用data://协议

     2)web80 (配合日志文件)

    从代码可看出被过滤的关键字。并且使用远程包含也不可行,允许远程包含的关键函数被关闭

 

     采用另一种方法:配合日志文件

     经抓包,发现中间件为nginx,浏览器可查到nginx 的默认日志位置为/var/log/nginx

     输入,路径正确

     修改数据包UA为脚本代码,得到flag文件

    得到flag

     3)web87 (put://filter协议)

     看代码可发现过滤的了许多关键字符,日志文件也不可使用了,但可发现urldecode解码,则可采用url编码绕过

     还有一个post提交$content,这个content的内容会被放入到$file文件中,则我们可以想到put://filter/write

     将‘php://filter/write=convert.base64-decode/resource=1.php’进行url编码两次,因为浏览器会自动进行一次url解码

     因为会将content中的内容进行base64解码,所以我们需要事先将<?php @eval($_POST[a]);?>后门代码进行一次base64编码,

     其因为content被放入到file文件中时,前面被连接了一部分,并且对这一部分进行解码时,只会解码phpdie,但base64是以

     4个字节为单位进行一次解码看,phpdie只有六个字节,所以需要在前面加入两个字节,则加入了aa

  (也可以使用凯撒13 php://filter/write=string.rot13/resource=2.php content=<?cuc riny($_CBFG[1]);?>)

  (也可以使用iconv php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=a.php contents=?<hp

    pvela$(P_SO[T]1;)>? web117中可以使用到)

这三种都是php://filter的过滤器中的一部分,剩余过滤器见文章php://filter的各种过滤器_php://filter过滤器种类-CSDN博客

     直接访问1.php并post提交可得到flag

三、文件包含漏洞-白盒

    看包含代码:

    include($action);可使用协议玩法

    include('files/'.$action.'.php');像这种带有‘前缀’、‘后缀’或者两者都有的,协议玩法肯定是用不了了

一篇很详细的文件包含漏洞文章:文件包含漏洞全面详解-CSDN博客

...全文
126 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
推荐,网络安全中的漏洞挖掘实践合集,仅供大家学习参阅,包含内容如下: 针对现实应用的文本对抗攻击研究 安全众测下的漏洞发展新趋势 安卓应用漏洞挖掘 从0到1-发现与拓展攻击面 对基于Git的版本控制服务的通用攻击面的探索 对民用飞行控制系统固件的逆向与漏洞分析 卫星通信的安全缺陷 基于全流量的智慧漏洞挖掘 基于运行时类型嗅探技术提高模糊测试的漏洞发掘效果 漏洞挖掘进化论-推开xray之门 逆向在漏洞挖掘中的应用 苹果攻击面和漏洞挖掘自动化研究 如何从高赏金项目中拿到高危 如何去挖掘物联网环境中的高级恶意软件威胁 如何在3个月发现 12 个内核信息泄露漏洞 沙箱内持久化.行之有效的沙箱攻击新思路 深度解析Weblogic_XMLDecoder反序列化 使用数据流敏感模糊测试发现漏洞 锁不住的安全 谈谈工业协议转换器的一些问题 逃逸IE浏览器沙箱-在野0Day漏洞利用复现 为何自动化漏洞挖掘如此困难 现代可抵赖后门研究 一扇虚掩的大门-现代智能系统的重要攻击面 源代码漏洞挖掘 远程root现代安卓设备 在现代Windows内核中发现存在20年的漏洞 针对智能设备漏洞挖掘的一些新方法 AI用于软件漏洞挖掘 AndroidWebView安全攻防指南2020 Java反序列化漏洞自动挖掘方法 macOS从运行库劫持到内核提权 MTK安全启动大剖析.CIS大会分论 MyBatis框架下SQL注入解决方案 Qemu-kvm和ESXi虚拟机逃逸实例分享 WEB常见漏洞与挖掘技巧研究 Web漏洞挖掘速成特训营 混合式漏洞挖掘研究进展

490

社区成员

发帖
与我相关
我的任务
社区描述
闽江学院IT领域专业的学生社区
社区管理员
  • c_university_1157
  • 枫_0329
  • 傅宣
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧