iwebsec靶场 文件包含漏洞通关笔记3-session文件包含

目录

1.打开靶场

2.源码分析

(1)session文件包含漏洞的的工作原理

(2)sessionstart()做了哪些初始化工作

3.获取session文件位置

4.向session写入webshell

5.访问webshell


1.打开靶场

iwebsec 靶场漏洞库iwebsecicon-default.png?t=N7T8http://iwebsec.com:81/fi/03.php

 随手根据提示,参数写iwebsec=iwebsec,提示SESSION["username"]的内容是iwebsec,于是基于session包含进行渗透

2.源码分析

如下所示,源码中包含session_start,加上把iwebsec赋值session的特点,确认是session文件包含漏洞

<?phprequire_once('../header.php');?>
<html><head><title>session本地文件包含</title></head><h2>session本地文件包含</h2><div class="alert alert-success"><p>/03.php?iwebsec=iwebsec </p></div><body>
<?phpif(isset($_GET['iwebsec'])){session_start();$iwebsec=$_GET['iwebsec'];$_SESSION["username"]=$iwebsec;echo 'SESSION["username"]的内容是'. $_SESSION['username'];}else{exit();}?>

 (1)session文件包含漏洞的的工作原理

    1)首先使用session_start()函数进行初始换
    2)当执行PHP脚本时,通过使用SESSION超全局变量注册session变量。
    3)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.savepath指定,下次浏览网页时可以加载使用。

(2)sessionstart()做了哪些初始化工作

    1)读取名为PHPSESSID(如果没有改变默认值)的cookie值,假使为xxxxxx。
    2)若读取到PHPSESSID这个COOKIE,创建SESSION变量,并从相应的目录中(可以再php.ini中设置)读取sess_xxxxxx(默认是这种命名方式)文件,将字符装在入SESSION变量中;
    3) 若没有读取到PHPSESSID这个COOKIE,也会创建S​ESSION超全局变量注册session变量。同时创建一个sess_xxxxxx(名称为随机值)的session文件,同时将xxxxxx作为PHPSESSID的cookie值返回给浏览器端。

3.获取session文件位置

通常情况下session文件名的构造:sess_   +  sessionid

sessionid可以在cookie页面进行查看右键-查看元素-网络

此时访问

iwebsec 靶场漏洞库iwebsecicon-default.png?t=N7T8http://iwebsec.com:81/fi/03.php?iwebsec=iwebsec

点击此报文在右边点击响应-cookie,如下所示获取到cookie的名称为plu9vbe6dj9a9gad1jg8idbmo7

于是session的文件名为

sess_plu9vbe6dj9a9gad1jg8idbmo7

 文件的位置为

/var/lib/php/session/sess_plu9vbe6dj9a9gad1jg8idbmo7

4.向session写入webshell

目前打算写入一个显示php版本号的脚本,即写入<?php phpinfo();?>

于是构造如下url

http://iwebsec.com:81/fi/03.php?iwebsec=<?php phpinfo();?>

5.访问webshell

由于session文件位置为/var/lib/php/session/sess_plu9vbe6dj9a9gad1jg8idbmo7

利用第一关的任意文件包含漏洞来访问它,相对路径为

/fi/01.php?filename=../../../../var/lib/php/session/sess_plu9vbe6dj9a9gad1jg8idbmo7

那么访问url为

iwebsec 靶场漏洞库iwebsecicon-default.png?t=N7T8http://iwebsec.com:81/fi/01.php?filename=../../../../var/lib/php/session/sess_plu9vbe6dj9a9gad1jg8idbmo7

如下所示,渗透成功

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

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

相关文章

【Blender】Blender入门学习

目录 0 参考视频教程0.1 Blender理论知识0.2 Blender上手实践0.3 FBX模型导入Unity 1 Blender的窗口介绍1.1 主界面1.2 模型编辑窗口 2 Blender的基本操作2.1 3D视图的平移2.2 3D视图的旋转2.3 3D视图的缩放2.4 修改快捷键2.5 使物体围绕选择的物体旋转2.6 四视图的查看2.7 局部…

遥遥领先的内存函数

目录 ​编辑 函数介绍 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.2 memmove 2.3 memcmp 函数实现 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.3 memcmp 函数介绍 1.1 strlen size_t strlen ( const char *…

猫头虎的技术笔记:Spring Boot启动报错解决方案

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

4.3.3 【MySQL】Redundant行格式

现在我们把表demo 的行格式修改为 Redundant &#xff1a; 为了方便大家理解和节省篇幅&#xff0c;我们直接把表 demo 在Redundant 行格式下的两条记录的真实存储数据提供出来&#xff0c;之后我们着重分析两种行格式的不同即可。 下边我们从各个方面看一下 Redundant 行格式有…

市场开始复苏,三星传调涨内存芯片高达20% | 百能云芯

随着行动内存芯片市场迹象显示出复苏迹象&#xff0c;并且最早在第四季度供不应求&#xff0c;三星电子已宣布将提高动态随机存取存储器&#xff08;DRAM&#xff09;和NAND闪存芯片的价格&#xff0c;幅度达到10%~20%。 韩国经济日报报道&#xff0c;知情人士透露&#xff0c;…

Day57|leetcode 647. 回文子串、516.最长回文子序列

leetcode 647. 回文子串 题目链接&#xff1a;647. 回文子串 - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;动态规划&#xff0c;字符串性质决定了DP数组的定义 | LeetCode&#xff1a;647.回文子串_哔哩哔哩_bilibili 题目概述 给你一个字符串 s &#xff0c;…

30岁游戏服务端开发者的独立游戏梦想,你不敢想的事他都做了!

小的时候家里就是开电动游戏厅的&#xff0c;所以我从小就喜欢玩游戏&#xff0c;尤其是那些有创意和故事性的游戏。 我梦想着有一天能够制作出自己的游戏&#xff0c;让更多的人享受到游戏带来的乐趣。 为了实现这个梦想&#xff0c;我选择了学习计算机科学&#xff0c;并在毕…

cpu温度监测 Turbo Boost Switcher Pro for mac最新

Turbo Boost Switcher Pro是一款Mac电脑上的应用程序&#xff0c;旨在帮助用户控制和管理CPU的Turbo Boost功能。Turbo Boost是Intel处理器中的一项技术&#xff0c;可以在需要更高性能时自动提高处理器的频率。然而&#xff0c;这可能会导致电池消耗更快和温度升高。 以下是T…

用python实现基本数据结构【01/4】

说明 如果需要用到这些知识却没有掌握&#xff0c;则会让人感到沮丧&#xff0c;也可能导致面试被拒。无论是花几天时间“突击”&#xff0c;还是利用零碎的时间持续学习&#xff0c;在数据结构上下点功夫都是值得的。那么Python 中有哪些数据结构呢&#xff1f;列表、字典、集…

64、使用 Spring WebFlux 的 WebClient 整合第三方Restful服务

这节的要点&#xff1a; 就是弄两个项目 &#xff0c; 从 端口9090 这个项目&#xff0c;通过 webClient&#xff0c; 去访问 端口8080 的项目&#xff0c;并获取8080项目的数据。 ★ RESTful客户端的两种方式 - 应用基于传统的Spring MVC框架&#xff0c;此时考虑使用RestTe…

K线学习001-早晨之星1

K线定义 早晨之星&#xff0c;顾名思义&#xff1a;就是在太阳尚未升起的时候&#xff0c;黎明前最黑暗的时刻&#xff0c;一颗明亮的启明星在天边指引着那些走向光明的夜行人&#xff0c;前途当然看好。 早晨之星&#xff0c;即预示着跌势将尽&#xff0c;大盘处于拉升的前夜&…

TSUMU58CDT9-1显示器芯片方案

TSUMU58CDT9-1是用于LCD显示器的整体解决方案图形处理IC&#xff0c;面板分辨率高达WUXGA。它配置了高速集成三adc /PLL、集成DVI/HDMI接收器、高质量显示处理引擎、集成微控制器和支持LVDS面板接口格式的输出显示接口。TSUMU58CDT9-1支持一个灵活的可配置数字输入接口&#xf…