http路径转file会变成反斜杠_PHP session反序列化漏洞
最近有点忙,有空学习一下 感觉似懂非懂,今晚来刷个题,验证一下我的一些想法
入口:http://web.jarvisoj.com:32784/index.php?
是一个反序列化的题,源码中
只是判断是否set了phpinfo 如果有就输出phpinfo,所以说这是关于session的题
session反序列化漏洞的原理网上有,总结一下就是两次处理会话的session引擎不同,一个是php 一个是php serialize,而session_start()函数的定义如下:
就是如果存在现有会话,就重用,而重用的方式是从默认的session存储文件里将数据反序列化得出,如果存储使用php serialize 而反序列化取回数据用的是php 那这就导致了问题
接着题目讲,题目中没有给出写入session 的方法,这就很尴尬了。。看了前辈的wp ,原来有个叫session 上传进度的东西
当PHP检测到同名post请求 就会再$_SESSION中添加一条数据 看来就是用这个来写session的
那就搞一个文件上传的同时再post一个请求:
将filename 改成 poc
,得到当前目录信息
这里为什么改filename的值,不改其他的值,开始我也不太懂 后来查了PHP手册,
例子中上传的是两个文件,如果一个文件的化,就能看出了,filename的键值对被写进入了 所以这里修改的是filename的值
再说下这个poc ,查看phpinfo得知
一开始上传session那个地方是使用php_serialize的,后来执行php的脚本,就变成了php的引擎 ,再重用上传的会话,用php引擎反序列化后,就会导致了问题 ,这是我的理解
讲下poc ,就是php_serialize引擎在处理session时会识别 | 这个字符,但是php引擎则会把 |
当成键值对的分隔符,所以用phpserialize处理过的session来给php反序列,就会得到问题,具体在这里体现就是实例化了一个类,完了又自动调用__destruct,,具体原理可以百度,很多前辈都写了
|O:5:"OowoO":1:{s:4:"mdzz";s:36:"print_r(scandir(dirname(__FILE__)));";} (为了防止"被转义 加了)
这个 | 后面,用php引擎解释实际上就是new OowoO()
,print_r(scandir(dirname(__FILE__)))就是mdzz 玛德智障吗 哈哈 为什么不用system ,因为disable了
查到了当前目录的flag文件,接下来就是换命令了,当前目录在哪
整个流程补完
在如何写入session 和调用session 那地方感觉还是一知半解,总结就是抠脚
http路径转file会变成反斜杠_PHP session反序列化漏洞相关推荐
- Unity Android 路径下的斜杆和反斜杠
当在Unity Editor 中使用斜杆和反斜杆来表示路径时,这两者似乎没有什么区别. 但当使用C#的IO类如Path.GetFileNameWithoutExtension()在android上会使 ...
- java文件路径中的两个反斜杠“\\“是什么意思
java的文件路径怎么写-Java基础-PHP中文网
- C++中相对路径与绝对路径以及斜杠与反斜杠的区别 及 处理代码
转载自:http://blog.csdn.net/sszgg2006/article/details/8447176 文件路径正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/":反斜 ...
- 【C++】相对路径与绝对路径以及斜杠与反斜杠的区别
本文来自:链接 正斜杠,又称左斜杠,符号是"/":反斜杠,也称右斜杠,符号是"\".文件路径的表示可以分为绝对路径和相对路径: 1.绝对路径表示相对容易,例如 ...
- C++中相对路径与绝对路径以及斜杠与反斜杠的区别
文件路径正斜杠和反斜杠 原文http://blog.csdn.net/sszgg2006/article/details/8447176 正斜杠,又称左斜杠,符号是"/":反斜杠, ...
- 路径中斜杠和反斜杠的用法
路径中斜杠和反斜杠的用法 Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符. Windows由于使用 斜杆/ 作为DOS命令 ...
- 文件路径 正斜杠和反斜杠
文件路径 正斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/":反斜杠,也称右斜杠,符号是"\".文件路径的表示可以分为绝对路径和相对路径: 1.绝对路径表示相对容 ...
- Qt处理路径里的斜杠和反斜杠
最早的unix操作系统,文件路径都是用斜杠,也就是"/",linux参考unix开发,路径也是用斜杠分割.后来windows源于DOS,DOS里斜杠已经用于命令行参数标识了,于是用 ...
- [Asp.net]c#中的斜杠和反斜杠
引言 在外地出差,给客户部署项目,三家做的项目要在一起集成,这就造成数据格式不同,路径中的斜杠和反斜杠造成了很大的问题. 查了一下这方面的资料,这里做一些记录,算是一个小结吧. 正斜杠(/)与反斜杠( ...
最新文章
- 数据结构与算法:13 字符串与整数集合
- Java动态代理与Cglib代理
- 财务用计算机可以一次摊销,购入的电脑可以一次性计提折旧吗
- 【控制】《多无人机协同控制技术》周伟老师-第2章-多无人机协同控制体系结构
- 租房还是买房结婚?大数据告诉你年轻人的真实想法
- Tesseract图形识别软件的安装
- nginx和apache的伪静态区别
- 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
- 二分法:两个有序数组长度为N,找到第N、N+1大的数
- 数据库杂谈(二)——数据模型
- git 拉取远端仓库_git命令-远程仓库拉取、本地仓库更新、工作空间提交等等
- [18/11/23]面向对象和面向过程
- 什么才是一份好的AI求职简历?
- 【CCCC】L3-010 是否完全二叉搜索树 (30分),完全二叉树判断+层次遍历(奇怪的方法)
- 论模式在领域驱动设计中的重要性
- Unity3D面试题汇总
- 如何查询淘宝天猫的宝贝类目
- Android6.0 camera个数探测
- ubuntu报错 E:无法定位软件包
- POJO类中属性必须使用包装数据类型