当前位置: 首页 > news >正文

自己做壁纸的网站/广州seo工程师

自己做壁纸的网站,广州seo工程师,辽宁建设工程信息网2017年定额人工费系数,福建省城市建设厅网站文章目录 一、文件包含1.1 概念1.2 PHP文件包含原理1.3 文件包含重要函数1.4 文件包含利用条件 二、文件包含漏洞利用2.1 文件包含分类2.2 常见敏感文件2.3 包含Apache日志文件2.4 常见中间件的日志路径2.5 包含其他日志文件2.5.1 SSH日志文件2.5.2 Session文件 三、PHP封装伪协…

文章目录

  • 一、文件包含
    • 1.1 概念
    • 1.2 PHP文件包含原理
    • 1.3 文件包含重要函数
    • 1.4 文件包含利用条件
  • 二、文件包含漏洞利用
    • 2.1 文件包含分类
    • 2.2 常见敏感文件
    • 2.3 包含Apache日志文件
    • 2.4 常见中间件的日志路径
    • 2.5 包含其他日志文件
    • 2.5.1 SSH日志文件
    • 2.5.2 Session文件
  • 三、PHP封装伪协议
    • 3.1 常用的伪协议
    • 3.2 php流input
    • 3.3 php流filter
    • 3.4 zip协议
    • 3.5 data协议
    • 3.6 phar协议
    • 3.7 PHP伪协议总结

一、文件包含

1.1 概念

  把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,无需再次编写函数。这一调用文件的过程被称为包含

1.2 PHP文件包含原理

  文件包含漏洞产生的原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。

  几乎所有的脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP Web Application中居多,而在JSP、ASP、ASP.NET程序中却非常少,这是有些语言设计的弊端。在PHP中经常出现文件包含漏洞,但并不意味着其他语言不存在。
  主要讲PHP文件包含。

1.3 文件包含重要函数

  • include():找不到被包含文件时会产生警告(E_WARNING),后续代码会执行。
  • include_once():与include()类似,代码已经被包含则不会再次被包含。
  • require():找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),后续代码不会被执行。
  • require_once():与require()类似,代码已经被包含则不会再次包含。

1.4 文件包含利用条件

  • include()等函数通过动态执行变量的方式引入需要包含的文件
  • 用户能控制该动态变量

注意:只要文件内容符合PHP语法规范,任何扩展名均可被PHP解析。故在文件上传绕过白名单时,可以使用文件包含漏洞来绕过白名单限制。

二、文件包含漏洞利用

2.1 文件包含分类

  文件包含漏洞可以分为LFI (Local File Inclusion,本地文件包含)和RFI(Remote File Inclusion,远程文件包含)。区分二者最简单的方法就是查看php.ini中是否开启了allow_url_include,如果开启就有可能包含远程文件

远程文件包含需要php.iniallow_url_include=Onallow_url_fopen=On。在php.ini中,allow_url_fopen默认是on,而allow_url_include从php5.2之后默认为Off。
在这里插入图片描述

2.2 常见敏感文件

就是说通过文件包含漏洞,可以查看系统敏感信息。

(1)Windows系统敏感信息

在这里插入图片描述
(2)Linux系统敏感信息

在这里插入图片描述

2.3 包含Apache日志文件

思路:找到Apache路径,利用文件包含漏洞包含日志文件获取webshell。
Apache两个日志文件:

  • access.log,用户发起请求时,请求会写入access,log。
  • error.log,当发生错误时将错误写入error.log。

  当发现网站存在文件包含漏洞,但无webshell文件包含,也没有上传点?如果先访问127.0.0.1/include/<?php phpinfo();?>,再访问access.log,php解释器将会解析php探针(phpinfo())。
注意:

  1. 当访问不存在的资源时,apache日志也会记录;
  2. 需要使用burp抓包,将经过URL编码的符号改回去。
    在这里插入图片描述

2.4 常见中间件的日志路径

  • Apache+linux组合的日志默认路径/etc/httpd/logs/access_log或者/var/log/httpd/access log
  • Apche+Windows组合的日志默认路径
    • XAMPP套件:xampp\apache\logs\access.log
    • phpstudy套件:phpstudy\Apache\logs\access.log
  • IIS6默认日志路径:C:WINDOWS\system32\Logfiles
  • IIS7默认日志路径:%SystemDrive%\inetpub\logs\LogFiles
  • Nginx,Nginx日志文件再用户安装目录的logs目录下,如安装目录为/usr/local/nginx,则日志记录就在/usr/local/nginx/logs里。也可通过其配置文件nginx.conf,获取到日志路径(/opt/nginx/logs/access.log)

2.5 包含其他日志文件

  不仅可以包含apahce日志文件,也可以包含其他日志文件。与apache日志文件的效果一样。

2.5.1 SSH日志文件

  把用户名改为<?php phpinfo();?>,ssh登录日志就会把此次登录行为记录到日志中。
在这里插入图片描述

2.5.2 Session文件

(1)session简介
  Cookie存在客户端,Session存在服务端,cookie用来保存用户的账户信息,session一般用来跟踪会话。
(2)利用场景
  一般存在登陆点位置注册用户。
(3)Session文件路径

  • 通过phpinfo()页面获取:session.save_path参数
    在这里插入图片描述
  • 常见的Session存储位置
    • /var/lib/php/sess_[PHPSESSID]
    • /tmp/sess_[PHPSESSID]

    PHPSESSID获取,可以通过burp抓包查看。然后利用文件包含漏洞包含session文件。
    在这里插入图片描述

三、PHP封装伪协议

3.1 常用的伪协议

在这里插入图片描述

3.2 php流input

  利用php中流的概念,将原本的include的文件流重定向到用户可控制的输入流中。也就是说原本必须是包含某个服务器端的文件,现在可以自定义POST内容给include()函数且这个内容能被php解析。
条件allow_url_include:onallow_url_fopen不做要求
在这里插入图片描述

include()函数会直接包含POST数据,就是解析POST中的php代码。

3.3 php流filter

作用:读取文件
条件:allow_url_includeallow_url_fopen均不做要求
基本格式:?page=php://filter/read=convert.base64-encode/resource=xxx.php,通过指定xxx.php,可以读取经过base64编码后的文件源码,之后再base64解码。虽然不能直接获取webshell,但是能读取敏感文件。
在这里插入图片描述

其他姿势:?page=php://filter/convert.base64-encode/resource=xxx.php效果与前面的一样,仅少了read关键字。再绕过一些waf时或许有用。

3.4 zip协议

基本格式:?page=zip://<zip文件路径>%23<被压缩的文件名>
在这里插入图片描述
  先将要执行的PHP代码写好文件名为test.txt,将test.txt进行zip压缩,压缩文件名为test.zip,如果可以上传zip文件便直接上传,若不能,将test.zip重命名为test,jpg后再上传。

注:

  1. 使用zip协议需要指定绝对路径,使用相对路径会包含失败。
  2. #编码为%23
  3. zip文件的文件名不影响zip协议。

3.5 data协议

  条件:php版本大于等于5.2,allow_url_includeallow_url_fopen都为On
  基本格式:?page=data://test/plain,<?php phpinfo();?>?page=data://test/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
在这里插入图片描述

3.6 phar协议

  假如有个文件test.txt,打包成zip压缩文件,指定绝对路径(或相对路径)
?page=phar://<文件路径>/test.zip/test.txt
在这里插入图片描述

3.7 PHP伪协议总结

在这里插入图片描述

相关文章:

26、文件包含

文章目录 一、文件包含1.1 概念1.2 PHP文件包含原理1.3 文件包含重要函数1.4 文件包含利用条件 二、文件包含漏洞利用2.1 文件包含分类2.2 常见敏感文件2.3 包含Apache日志文件2.4 常见中间件的日志路径2.5 包含其他日志文件2.5.1 SSH日志文件2.5.2 Session文件 三、PHP封装伪协…...

飞天使-linux操作的一些技巧与知识点4-ansible常用的技巧,配置等

文章目录 ansible配置文件的优先级尝试开始进行操作ansible常用模块ansible 的playbook示例安装phpplaybook中变量的引用 ansible yum install -y ansible 测试是否可用 ansible localhost -m ping /etc/ansible/ansible.cfg &#xff1a;主配置文件&#xff0c;配置 ansible…...

Stable Diffusion 源码解析(1)

参考1&#xff1a;https://blog.csdn.net/Eric_1993/article/details/129393890 参考2&#xff1a;https://zhuanlan.zhihu.com/p/613337342 1.StableDiffusion基本原理1.1 UNetModel、FrozenCLIP 模型1.2 DDPM、DDIM、PLMS算法 2. Runwayml SD 源码2.1 Img2Img Pipeline2.2 DD…...

java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter 报错解决

问题原因: 这有可能是因为SpringBoot项目结合jwt进行用户登录时出现的问题&#xff0c;因为jdk版本太高导致的 解决办法: 方法一: 降低jdk版本 检查JDK版本,如果你是JDK17版本,就降到JDK8版本 方案二:在meven中添加依赖 注意: 如果2.3.1的版本不生效,则使用2.3.0的版本 <…...

Python学习笔记-类

1 定义类 类是函数的集合&#xff0c;class来定义类 pass并没有实际含义&#xff0c;只是为了代码能执行通过&#xff0c;不报错而已&#xff0c;相当于在代码种占一个位置&#xff0c;后续完善 类是对象的加工厂 2.创建对象 carCar()即是创建对象的过程 3、类的成员 3.1 实例…...

了解如何在linux使用podman管理容器

本章主要介绍使用 podman 管理容器。 了解什么是容器&#xff0c;容器和镜像的关系 安装和配置podman 拉取和删除镜像 给镜像打标签 导出和导入镜像 创建和删除镜像 数据卷的使用 管理容器的命令 使用普通用户管理容器 使用普通用户管理容器 对于初学者来说&#xff0c;不太容…...

SQL命令---修改字段的数据类型

介绍 使用sql语句修改字段的数据类型。 命令 alter table 表明 modify 字段名 数据类型;例子 有一张a表&#xff0c;表里有一个id字段&#xff0c;长度为11。使用命令将长度修改为12 下面使用命令进行修改&#xff1a; alter table a modify id int(12) NOT NULL;下面使修…...

一键提取微信聊天记录,生成HTML、Word文档永久保存,还能生成微信年度聊天报告

不知道生活中你有没有遇到过这种情况&#xff0c;聊天记录不完整&#xff0c;有的在手机上&#xff0c;有的在电脑上&#xff0c;搜索起来很烦。那有没有一种办法可以把微信聊天记录统一呢&#xff1f;当然是有的。下面&#xff0c;就让我们一起来看一下怎么操作。 先看效果 操…...

docker使用详解

介绍 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。 Docker基于轻量级虚拟化技术&#xff0c;整个项目基于Go语言开…...

MidJourney笔记(7)-Seeds

我相信很多人在使用MidJourney的时候,都会遇到一个问题,就是如何保持生成图像的一致性,或者相对一致性,差异性不是很大。此时,我们就需要引入一个seed值,类似给这个提示词生成的图片做一个id标识。 那这个seed值怎么使用? 其实,在我们每次生成的图片,都有有一个seed值…...

pom配置文件重要标签探究

文章目录 dependencies标签dependencyManagement标签两者辨析repositories标签properties标签 dependencies标签 <dependencies>标签用于指定项目的依赖项列表。这些依赖项可以是应用程序代码所需的库&#xff0c;也可以是Spring Boot和其他第三方库。<dependencies&…...

如何在Ubuntu的Linux系统上搭建nacos集群

官方给出的集群部署架构图 集群部署说明 (nacos.io)3个或3个以上nacos节点才能构成集群当前示例中包含3个nacos节点&#xff0c;同时一个负载均衡器代理3个nacos&#xff0c;本示例中负载均衡器可使用的是nginx 准备并安装好正常运行的nginx&#xff0c;本示例略准备并安装好正…...

oracle中的PIVOT函数

在Oracle数据库中&#xff0c;PIVOT 是一个强大的功能&#xff0c;可以将行数据转换为列数据。这在报表和数据分析中非常有用。 基本的 PIVOT 语法如下&#xff1a; SELECT * FROM (SELECT <column1>, <column2>, ..., <pivot_column>, <aggregate_func…...

【经验分享】gemini-pro和gemini-pro-vision使用体验

Gemini Gemini已经对开发者开放了Gemini Pro的使用权限&#xff0c;目前对大家都是免费的&#xff0c;每分钟限制60条&#xff0c;至少这比起CloseAI的每个账户5刀限速1min3条要香的多&#xff0c;目前已于第一时间进行了体验 一句话总结&#xff0c;google很大方&#xff0c;但…...

JS冒泡排序

想必大家都多多少少了解过一点排序&#xff0c;让我为大家介绍一下冒泡排序吧&#xff01; 假设我们现在有一个数组[2&#xff0c;4&#xff0c;3&#xff0c;5&#xff0c;1] 我们来分析一下&#xff1a; 1.一共需要的趟数 我们用外层for循环 5个数据我们一共需要走4躺 长度就…...

面向遥感图像的道路区域提取及优化

一、论文2017 (1)DeepRoadMapper (2)Topology Loss2018 (1)RoadTracer (2)iterative-deep-learning2019 (1)Leveraging Crowdsourced GPS Data for Road Extraction from Aerial Imagery (2)RoadNet (3)RoadTagger (4)Generative Graph Transformer (5)road_…...

mysql中NULL值

mysql中NULL值表示“没有值”&#xff0c;它跟空字符串""是不同的 例如&#xff0c;执行下面两个插入记录的语句&#xff1a; insert into test_table (description) values (null); insert into test_table (description) values ();执行以后&#xff0c;查看表的…...

[c++] 意识需要转变的一个例子,全局变量的构造函数先于main执行

最近还遇到一个例子是关于&#xff1a;从C转C开发需要注意的一个意识问题。本人遇到的这个问题是&#xff0c;带着C的意识来看C的代码&#xff0c;然后根据代码看&#xff0c;有一个全局变量的值在main函数进入之后才会更改&#xff0c;所以百思不得其解&#xff0c;这个变量怎…...

VSCode 配置自动生成头文件

相关文章 VSCode 开发C/C实用插件分享——codegeex VSCode 开发C/C实用插件分享——koroFileHeader VSCode 配置自动生成头文件 一、snippets二、配置步骤三、效果展示 一、snippets 相信大家对C、C都头文件都不陌生&#xff0c;都会发现每个头文件都会包括下面的这些格式&…...

【大数据】Hudi 核心知识点详解(一)

&#x1f60a; 如果您觉得这篇文章有用 ✔️ 的话&#xff0c;请给博主一个一键三连 &#x1f680;&#x1f680;&#x1f680; 吧 &#xff08;点赞 &#x1f9e1;、关注 &#x1f49b;、收藏 &#x1f49a;&#xff09;&#xff01;&#xff01;&#xff01;您的支持 &#x…...

windows上抓包出现大包未分片以及关闭tso方法

wireshark抓包中会有大数据包&#xff08;未分片包&#xff09;和ip校验和不对的包&#xff0c;问题根因在目前很多电脑网卡支持TSO和将校验和计算到网卡上&#xff0c;导致抓出数据包未分片 详细文章看: https://www.cnblogs.com/charlieroro/p/11363336.html 目前很多网卡已…...

Leetcode 2454. 下一个更大元素 IV

Leetcode 2454. 下一个更大元素 IV题目 给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数&#xff0c;你必须找到对应元素的 第二大 整数。如果 nums[j] 满足以下条件&#xff0c;那么我们称它为 nums[i] 的 第二大 整数&#xff1a; j >nums[j] > nu…...

浏览器全屏按键同f11效果

模拟键f11 // for IE&#xff0c;这里和fullScreen相同&#xff0c;模拟按下F11键退出全屏 let wscript new ActiveXObject(WScript.Shell) if (wscript ! null) {wscript.SendKeys({F11}) }同f11键效果生效全屏函数 //判断是否是全屏状态 var isFull Math.abs(window.scree…...

CentOS 7.9 安装 k8s(详细教程)

&#x1f37f;安装步骤 &#x1f35a;安装前准备事项&#x1f35a;安装docker&#x1f35a;删除docker&#x1f35a;安装yum工具&#x1f35a;设置docker镜像源&#x1f35a;安装指定版本docker&#x1f35a;设置开启自启&#x1f35a;阿里云镜像加速 &#x1f35a;准备环境&am…...

区块链的可拓展性研究【05】闪电网络

1.闪电网络&#xff1a;闪电网络是一种基于比特币区块链的 Layer2 扩容方案&#xff0c;它通过建立一个双向支付通道网络&#xff0c;实现了快速、低成本的小额支付。闪电网络的交易速度非常快&#xff0c;可以达到每秒数万笔交易&#xff0c;而且交易费用非常低&#xff0c;几…...

如何部署Portainer容器管理工具+cpolar内网穿透实现公网访问管理界面

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 本文主要介绍如何本地安装Portainer并结合内网穿透工具实现任意浏览器远程访问管理界面。Portainer 是一个轻量级…...

Linux——Samba文件共享服务配置

SMB/CIFS协议 SMB协议(Server Message Block 又称Common Internet File System&#xff08;CIFS&#xff09;) 是由微软开发的网络传输协议&#xff0c;用来实现网络共享文件系统、打印机等资源。 SMB协议有多个版本和不同的兼容性。 SMBv1/CIFS: 也称为SMB1或CIFS。最初由Micr…...

自动驾驶右向辅助功能规范

目 录 Contents 目录 1. 介绍 Introduction. 8 1.1 此文档的范围和目的 Scope and Purpose of This Document 8 1.2 参考文档References. 9 1.3 文档的维护 Maintenance of the Document 10 1.4 缩略词Abbreviations. 10 1.5 文档概述Document Overview.. 11 1.6 功能…...

ASF-YOLO开源 | SSFF融合+TPE编码+CPAM注意力,精度提升!

目录 摘要 1 Introduction 2 Related work 2.1 Cell instance segmentation 2.2 Improved YOLO for instance segmentation 3 The proposed ASF-YOLO model 3.1 Overall architecture 3.2 Scale sequence feature fusion module 3.3 Triple feature encoding module …...

Mac 如何删除文件及文件夹?可以尝试使用终端进行删除

MacOS 是 Mac 电脑采用的操作系统&#xff0c;你知道 Mac 如何删除文件吗&#xff1f;除了直接将文件或者文件夹拖入废纸篓之外&#xff0c;我们还可以采用终端命令的办法去删除文件&#xff0c;本文为大家总结了 Mac 删除文件方法。 为何使用命令行删除文件 在使用 Mac 电脑…...