42、WEB攻防——通用漏洞文件包含LFIRFI伪协议编码算法代码审计

文章目录

  • 文件包含
    • 文件包含原理
    • 攻击思路
    • 文件包含分类
  • session
  • PHP伪协议进行文件包含

在这里插入图片描述

在这里插入图片描述

文件包含

文件包含原理

文件包含其实就是引用,相当于C语言中的include <stdio.h>。文件包含漏洞常出现于php脚本中,当include($file)中的$file变量用户可控,就造成了文件包含漏洞。**注意被包含的文件中只要存在php代码,就可以被php解释器解析,不受文件后缀名的影响。**例如?file=1.txt1.txt中的php代码也会被解析。

攻击思路

  1. 配合文件上传进行获取webshell。上传图片(带有脚本后门),包含这个文件,脚本代码就会被执行;
  2. 利用php伪协议直接读取文件或者直接执行php代码;
  3. 配合日志文件进行获取webshell。日志文件记录访问者UA信息,修改UA信息为后门代码,包含就会触发后门代码;
  4. 配合会话文件进行获取webshell。

在这里插入图片描述

黑盒测试中,当URL中出现?x=文件名,修改为文件路径测试文件包含漏洞。

文件包含分类

本地包含(LFI)和远程包含(RFI)的区别:一个只能包含本地文件,一个可以远程加载文件(可以使用php伪协议中的http://https://协议)。具体形成原因是由代码和环境配置文件决定。在php中可以通过配置php.ini文件来禁止远程文件包含,allow_url_fopen=Onallow_url_include=On

远程文件包含示例?file=http://www.baidu.com,使用http://https://协议加载百度。
在这里插入图片描述

  1. 在php.ini中,allow_url_fopen默认一直是On,而allow_url_include从php5.2之后就默认为Off。
  2. php伪协议资料:php伪协议、php伪协议

session

linux下,默认保存session的文件路径/tmp/var/lib/php/session;Windows下session文件的路径不固定。
关于session,只要你与一个网站建立连接,网站某个文件夹下就会产生session文件,关闭浏览器或者过了一段时间,session就会失效,再次建立连接的话就会产生新的session文件。

服务器端的session文件命名如下,尝试简单爆破是几乎不可能的。
在这里插入图片描述
实际上,数据包中的cookie中有个PHPSESSID的值,服务端将sess_PHPSESSID的值进行拼接,就是当前会话session的文件名。
在这里插入图片描述

如何通过session文件进行文件包含?(以php为例)
利用PHP_SESSION_UPLOAD_PROGRESS进行文件包含,简单来说,上传一个文件名为PHP_SESSION_UPLOAD_PROGRESS的文件,服务器将使用sess_和这个数据包的cookie字段的PHPSESSID生成一个session文件,session文件的文件内容就是<?php system('ls');?>

在这里插入图片描述
注意:php中session.upload_progress.cleanup默认是开启的,这个东西一旦开启,就是说当文件上传结束后,php将会立即清空对应session文件中的内容。要用到条件竞争写入后门文件,防止上传的后门代码直接失效。浅谈 SESSION_UPLOAD_PROGRESS 的利用

PHP伪协议进行文件包含

在包含文件的时候,通常include('conn/'.$file),也就是给你固定到一个目录下,这时候使用..进行跳转,?file=../../xxx。但是使用伪协议的时候就会使得php伪协议失效。因此,要想使用php伪协议,文件包含代码必须为include($file)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
除此之外,不同的协议,需要开不同的开关。如http://https://协议:
在这里插入图片描述
填充垃圾字符,绕过文件后缀。
在这里插入图片描述

参考:文件包含截断的3种方法

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(2)

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

Galaxy生信云平台参考基因组简介

Galaxy生信云平台&#xff08;UseGalaxy.CN&#xff09;目前支持以下参考基因组&#xff1a; Arabidopsis (Arabidopsis thaliana): TAIR10Human (Homo sapiens) (b37): hg19Human (Homo sapiens) (b38): hg38Mouse (Mus Musculus) (b38): mm10Wheat (Triticum aestivum) (Chin…

服务器和CDN推荐

简介 陆云Roovps是一家成立于2021年的主机服务商&#xff0c;主要业务是销售美国服务器、香港服务器及国外湖北十堰高防服务器&#xff0c;还有相关CDN产品。&#xff08; 地址&#xff1a;roovps&#xff09; 一、相关产品

IntelliScraper 更新 --可自定义最大输出和相似度 支持Html的内容相似度匹配

场景 之前我们在使用IntelliScraper 初代版本的时候&#xff0c;不少人和我反馈一个问题&#xff0c;那就是最大输出结果只有50个&#xff0c;而且还带有html内容&#xff0c;不支持自动化&#xff0c;我声明一下&#xff0c;自动化目前不会支持&#xff0c;以后也不会支持&am…

电商小程序02数据源设计

上一篇我们讲解了电商小程序的需求分析&#xff0c;分析了需要具备的功能并且绘制了系统原型。有了原型之后下一步的事情就是根据原型来设计数据源。 数据源就像盖房子打地基一样&#xff0c;地基打不好&#xff0c;楼可能就盖不高&#xff0c;盖起来要再想调整就比较困难。 …

【Mybatis】从0学习Mybatis(2)

前言 本篇文章是从0学习Mybatis的第一篇文章&#xff0c;由于篇幅太长CSDN会限流&#xff0c;因此我打算分开两期来写&#xff0c;这是第二期&#xff01;第一期在这儿&#xff1a;【Mybatis】从0学习Mybatis&#xff08;1&#xff09;-CSDN博客 1.什么是ResultMap结果映射&am…

从源代码到可执行文件

从源代码到可执行文件的转换是软件开发过程中的一个核心步骤。这个过程包括几个关键阶段&#xff1a;预处理—编译—汇编—链接。下面是这个过程的一个概览&#xff0c;以及每个阶段的作用。 预处理 (Preprocessing) 目的 处理源代码文件中的预处理指令。这些指令以 # 开头…

<.Net>使用visual Studio 2022在VB.net中新添自定义画图函数(优化版)

前言 这是基于我之前的一篇博文&#xff1a; 使用visual Studio 2019在VB.net中新添自定义画图函数 在此基础上&#xff0c;我优化了一下&#xff0c;改进了UI&#xff0c;添加了示例功能&#xff0c;即以画圆函数为基础&#xff0c;添加了走马灯功能。 先看一下最终效果&#…

《剑指offer》之左旋字符串

判断一个字符串是否为另外一个字符串旋转之后的字符串。 输入示例&#xff1a;输入字符串s1 和 s2, 并且会输入移动位数。 例如&#xff1a;给定 s1 AABCD 和 s2 BCDAA&#xff0c;返回1 给定s1abcd和s2ACBD&#xff0c;返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得…

Quicker读取浏览器的书签(包括firefox火狐)

从edge换了火狐&#xff0c;但是quicker不能读取本地的bookmarks文件了&#xff0c;就研究了一下。 方法1&#xff1a;读取本地Bookmarks文件&#xff08;仅谷歌内核浏览器&#xff09; 谷歌内核的浏览器本地会有Bookmarks文件&#xff0c;放了所有的书签数据&#xff0c;直接…

nba2k24 周琦面补

nba2k24 周琦面补 nba2k23-nba2k24通用 周琦面补 下载地址&#xff1a; https://www.changyouzuhao.cn/9649.html

二叉树经典题题解(超全题目)(力扣)

✨欢迎来到脑子不好的小菜鸟的文章✨ &#x1f388;创作不易&#xff0c;麻烦点点赞哦&#x1f388; 所属专栏&#xff1a;刷题 我的主页&#xff1a;脑子不好的小菜鸟 文章特点&#xff1a;关键点和步骤讲解放在 代码相应位置 144. 二叉树的前序遍历 题目链接&#xff1a;h…