首页 > 其他分享 >iwebsec-文件包含 03 session本地文件包含

iwebsec-文件包含 03 session本地文件包含

时间:2023-08-20 10:44:23浏览次数:35  
标签:文件 包含 03 phpinfo session php

01、题目分析

程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,

直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。

在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞

02、文件包含

在这一题中,采用了session验证,根据提示,我们就可以发现,这里有一个写入功能,我们写入的语句会被存储到服务器上当作session

image

因此我们可以尝试将php语句传入到session文件中

http://www.bdrwmy.cn:8001/fi/03.php?iwebsec=<?php phpinfo();?>

image

这样php代码就被存储到了session中,接下来我们要做的就是访问session文件,但是本题中并没有文件包含,无法访问session怎么办,那么只能回到第一题去访问session了,但是在这之前,先f12获取phpsessid,注意,每个人的phpsessid是不相同的!

251md2g1dokp46usgbk711rpm4	

image

在linux服务器中,session的默认目录一般为/var/lib/php/session/

那么我们就去第一题访问session

http://www.bdrwmy.cn:8001/fi/01.php?filename=/var/lib/php/session/sess_251md2g1dokp46usgbk711rpm4

image

可以发现执行了

虽然这一题和第一题都是在01.php上执行的phpinfo()代码,但是需要注意的是,第一关的phpinfo()是没得选,他本机文件中只有这个包含phpinfo()的代码,但是这一关中,我们实现了构造文件内容,不仅仅可以把文件内容写成phpinfo(),还可以直接放进去木马去执行

03、源码分析

<?php
	if(isset($_GET['iwebsec'])){ // 检查是否设置了 'iwebsec' 参数
		session_start(); // 启动会话,以便使用会话变量
		$iwebsec=$_GET['iwebsec']; // 获取 'iwebsec' 参数的值,并赋给 $iwebsec 变量
		$_SESSION["username"]=$iwebsec; // 将 $iwebsec 变量的值存储到名为 "username" 的会话变量中
		echo 'SESSION["username"]的内容是'. $_SESSION['username']; // 输出会话变量 "username" 的值
	}else{
		exit(); // 如果未设置 'iwebsec' 参数,则退出脚本执行
	}
?>

标签:文件,包含,03,phpinfo,session,php
From: https://www.cnblogs.com/bdrwmy/p/17643704.html

相关文章

  • 高中英语学习0803   leave out遗漏 16.should竟然/应该 17.
    1.  getthrough到达,度过getaround到处走走getalong进展,和睦相处getacross通过2.  beworthof+宾语3.非限定性定语从句,只能用which引导4.providesthforsbsupplysbwithsthprovidesbwithsth5.goabroad去国外,出国  g......
  • ORACLE的参数文件:pfile和spfile
    转载自:https://www.cnblogs.com/xqzt/p/4832597.html1、pfile和spfileOracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件。它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定......
  • 03-04 基本数据类型(列表、元组、字典、集合)
    一、列表1、访问列表中的值list=['red','green','blue','yellow','white','black']print(list[0])#'red'print(list[1])print(list[2])print(list[-1])#blackprint(list[-2])#whiteprint(li......
  • Gym103687D The Profiteer:回滚莫队信息双指针可以做到线性对数
    标题写得好所谓的回滚莫队信息意思是,设信息保存在两个大小分别为\(a,b\)的结构上,将这两个信息进行合并得到大小为\(a+b\)的信息需要的时间为\(\Omega(\min\{a,b\}\cdotf(n))\);而给定一个大小为\(1\)的信息,可以在\(\mathrmO(f(n))\)时间内将它加入到任何一个结构中......
  • TLS证书文件创建
    #######################################################创建CAX509version1.0根证书#######################################################创建证书存放目录CertPath=/k8s/tlsv2DomainName=ca.huawei.com#1、创建证书文件存放目录mkdir-p${CertPath}&......
  • 以二进制文件安装K8S之高可用部署架构
    在Kubernetes系统中,Master节点扮演着总控中心的角色,通过不间断地与各个工作节点(Node)通信来维护整个集群的健康工作状态,集群中各资源对象的状态则被保存在etcd数据库中。在正式环境中应确保Master的高可用,并启用安全访问机制,至少包括以下几方面。Master的kube-apiserver、kube-c......
  • 以二进制文件安装K8S之创建CA根证书
    为etcd和Kubernetes服务启用基于CA认证的安全机制,需要CA证书进行配置。如果组织能够提供统一的CA认证中心,则直接使用组织颁发的CA证书即可。如果没有统一的CA认证中心,则可以通过颁发自签名的CA证书来完成安全配置。如下以通过颁发自签名的CA证书来完成安全配置。etcd和Kubernet......
  • 以二进制文件安装K8S之环境准备
    为了k8s集群能正常运行,需要先完成4项准备工作:1.关闭防火墙2.禁用SeLinux3.关闭Swap4.安装Docker关闭防火墙#查看防火墙状态getenforce#关闭防火墙,禁用防火墙开机自启动systemctlstopfirewalldsystemctldisablefirewalld禁用SeLinux#临时禁用SeLinux,重启失效......
  • 以二进制文件安装K8S之部署etcd高可用集群
    概述前提条件:已经准备好CA根证书(etcd在制作CA证书时需要CA根证书),并且把CA根证书文件ca.key和ca.crt拷贝到3个etcd节点的/etc/kubernetes/pki目录下。3台主机的IP地址分别为192.168.3.135、192.168.3.136、192.168.3.137。要安装的etcd版本:v3.4.13-linux-amd64。安装etcd下载e......
  • 以二进制文件安装K8S之部署Master高可用集群
    如下以二进制文件方式部署安全的KubernetesMaster高可用集群,具体步骤如下:1.下载Kubernetes服务的二进制文件2.部署kube-apiserver服务3.创建客户端CA证书4.创建客户端连接kube-apiserver服务所需的kubeconfig配置文件5.部署kube-controller-manager服务6.部署kube-schedule......