-------已搬运------session.upload_progress。伪造session 反序列化 + 文件包含,,临时文件包含 ++ PHP7 的 segment fault

burp不行了,就用这个的利用session.upload_progress进行文件包含。payload,来打打试试,。

1. 在session反序列化,PHP解析器的考点中使用。

PHP反序列化之SEESSION反序列化(二):切入学习点:jarvis OJ PHPINFO.
这个是利用了当session.upload_progress.enabled开启时如果我们上传了一个和session.upload_progress.name同名的变量,也就是名字为PHP_SESSION_UPLOAD_PROGRESS的时候,且为 POST 请求的时候,他就会在$_SESSION中添加一组键值对。键名就是session.upload_progress.name。然后键值就是我们POST中上传的键值,

在这里插入图片描述
上面这个jarvis oj 用到点就是PHP的反序列化解析器不同,然后 反序列化的rce。没有写入session的点,所以就用这个了,然后就将这个的值变成我们构造的恶意的反序列化的字符串。
在这里插入图片描述

POST上传这个变量,就会在session中放入这么一组键值对,然后在burp中改包,把123变成我们构造的恶意反序列化的字符串。
键值对是 post 中的 键值对中的 文件名,所以burp改的时候,就是上面的就好。
在这里插入图片描述

2. 进行文件包含:

在这里插入图片描述

这个我的锅,都说如果session.auto_start,没开的话,我们没办法自动生成一个session文件,然后大佬们就说,可以手动写一个PHPSESSID,然后就有了,我就一直在我本地尝试,但是都没有发现,在win10本地,和阿里云上面都试过了,就是没有,,然后我就猛然想到了,大佬们还说了,

我们写入这个session文件的时候,要知道不这个的文件名,并且知道session文件的存放位置。

session里有一个默认选项,session.use_strict_mode默认值为off
在这里插入图片描述
在这里插入图片描述
也就是为off的时候,我们用户是可以自己定义SESSIONID的,比如,我们在Cookie里设置PHPSESSID=flag,PHP将会在服务器上创建一个文件:/tmp/sess_flag”。即使此时用户没有初始化Session,PHP也会自动初始化Session,并产生一个键值。
注:在Linux系统中,session文件一般的默认存储位置为 /tmp 或 /var/lib/php/session

但是!
在这里插入图片描述

但是session.upload_progress.cleanup默认是开启的
在这里插入图片描述
框着的这句话意思就是说在默认情况

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值