今天,我们来学习一项web安全里最常见的漏洞,File Inclusion。本篇文章将会带领大家进入到File Inclusion这项漏洞的世界里,让大家领略到File Inclusion这项漏洞的魅力,从而对File Inclusion漏洞有更深刻的认识。
学习一项新的漏洞,简单来说,我们要从四个方面来入手,之一个方面是产生这项漏洞的原因,不管是从代码层面,还是从逻辑层面等方面,来对这项漏洞有一个清楚的认识,有位大佬说得好,只有对漏洞原理了如指掌,才会有更多的突破点来挖掘漏洞;第二个方面是这项漏洞应该如何利用,是直接使用漏洞利用的各种工具,还是自己的写或者是借鉴其他大佬的漏洞利用的脚本等,漏洞利用的方式不一而同,具体问题具体分析;第三个方面是这项漏洞对网站等能够造成什么样危害,能够达到什么样的效果,是获取网站的权限,还是获取管理员或者用户的账号密码或者是敏感信息等;第四个方面当然是,我们应该如何去防范这项漏洞,以及这项漏洞的修复方式,分别从代码层面、逻辑层面等方面如何去修复。
本篇文章将分别从File Inclusion漏洞的原理、File Inclusion漏洞如何利用、File Inclusion漏洞的危害以及File Inclusion漏洞如何防范与修复这四个方面,来和大家一起学习File Inclusion这项漏洞,下面我们进入正题。
File Inclusion(文件包含漏洞)原理
文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如在PHP中,提供了:
include(),include_once()
require(),require_once()
这些文件包含函数,这些函数在代码设计中被经常使用到。
大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。根据不同的配置环境,文件包含漏洞分为如下两种情况:
1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。
2.远程文件包含漏洞:能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况没啥好说的,准备挂彩。
因此,在web应用系统的功能设计上尽量不要让前端用户直接传变量给包含函数,如果非要这么做,也一定要做严格的白名单策略进行过滤。
查看源码,没有做任何过滤,变量传进去直接包含
点击kobe,提交
可以看到读取了file1.php,在include里面创建一个phpinfo.php文件
对url进行修改,可以利用文件上传漏洞上传的phpinfo文件,在此处进行包含(详情见文件上传靶场,此处直接利用)
http://x.x.x.x/vul/fileinclude/fi_local.php?filename=https://www.freebuf.com/unsafeupload/uploads/phpinfo.php&submit=%E6%8F%90%E4%BA%A4
在php.ini配置文件打开这个选项
查看源码
远程文件包含很简单,其实就是使用文件包含远程服务器上的文件并执行
1、web服务器的文件被外界浏览导致信息泄露;
2、脚本被任意执行,典型影响如下:篡改网站;执行非法操作;攻击其他网站;
3、这类漏洞看起来貌似并不严重,一旦被恶意利用则会带来很大的危害。本地文件包含不仅能够包含web文件目录中的一些配置文件(比如Web应用、数据库配置文件、config文件),还可以查看到一些Web动态页面的源代码,为攻击者进一步发掘web应用漏洞提供条件,甚至一旦与路径遍历漏洞相结合,还可能直接攫取目标系统的用户名与密码等文件。
1、建议白名单,通过筛选固定文件名 *** ,不满足已知的文件的名字就不能够执行远程包含
2、指定访问一定的路径,再将参数拼接到路径当中
3、过滤https://www.freebuf.com/articles/ https://www.freebuf.com/articles/web/,配置php.ini文件,都关闭allow_url_fopen 和 allow_url_include
到此为止,通过本篇文章,我们大家分别从File Inclusion漏洞的原理、File Inclusion漏洞如何利用、File Inclusion漏洞的危害以及File Inclusion漏洞如何防范与修复这四个方面,一起学习了File Inclusion这项漏洞,相信大家已经对File Inclusion这项漏洞有了明确而深刻的认识。
本人之后还会陆续分享我在 *** 安全与渗透测试学习之路上的各种笔记,包括且不限于各种漏洞原理、漏洞挖掘、漏洞复现以及靶场CTF通关教程等等,希望大家多多点赞关注支持。
免责声明:本站提供的安全工具、程序( *** )可能带有攻击性,仅供安全研究与教学之用,风险自负!
转载声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
欢迎关注公众号:国服最强渗透掌控者
一名普通的白帽子,努力追求着成为国服最强渗透掌控者的梦想,希望我的分享能够给大家带来帮助,并且能够为 *** 安全事业做出自己的贡献。此生无悔入网安,争做渗透之一人。
——关于“Moeye”的开发 对MaaS时代人与汽车的关联性、新座舱理念提出新概念 京瓷株式会社(社长:谷本秀夫,以下简称"京瓷")研发出了第二款概念车“Moeye”,并在该车上应用了京瓷...
24小时免费黑客联系方式黑客高手微信 24小时免费黑客联系方式谁有 我想要跟黑客高手学习一下黑客技术,不知道哪里才能找到他们的微信 欢迎入坑网络安全很多人想。 每日要闻专业盗微信黑客联系方式 专业盗微...
网络营销中常常提到排水推广。我们知道排水推广的方法有许多,好比:空间排水、贴吧排水、淘宝排水、微信排水等。最近,一个小同伴问我利用搜索引擎优化排水来经商的贸易前景。 对付这个问题,我们需要相识的是,网...
gift是什么意思(gift和present有什么区别) 今天早上上班的时候,发现公司门口以及楼下都竖着大大的,闪闪发光的圣诞树,罐头菌才终于反应过来,原来圣诞节又快到了。随着节日越来越接近,...
螃蟹的种类繁多,从生活环境上我们可以简单的分为淡水蟹和海蟹两大类。又到了开海季,各类螃蟹会走进海鲜市场或超市 ,最终成为我们的盘中美食 。那么你知道常见的海蟹种类有哪些?哪种螃蟹又最好吃呢?今天就为大...
对方手机关机怎样定位追踪(对方手机关机了怎么定位到对方) 科技发展到现在,想要找到一个人极其容易。通过手机号码定位、观察对方发布的动态或使用其手机关联的云账号,都能轻而易举地获取对方的大致位置。然而...