博客
关于我
PHP反序列化之SEESSION反序列化(二):切入学习点:jarvis OJ PHPINFO
阅读量:381 次
发布时间:2019-03-05

本文共 690 字,大约阅读时间需要 2 分钟。

PHP反序列化之SESSION反序列化:切入学习点:jarvisoj的phpinfo

分析一波

这一题属于没有接收$_SESSION变量赋值的类型。在PHP中,有一个upload_process机制会自动在$_SESSION中创建一个键值对,这个值刚好是我们用户可以控制的那部分。

开始入手

随便get一个phpinfo参数,先看看phpinfo有什么信息。可以看到默认的session引擎时php_serialize,但是题目使用的引擎时php。也就是说,我们放入的时候是用的php方法,取出来的时候用的php_serialize方法。

1. 上传一个网页,POST那个同名的参数

这里可以参考一下我测试的样例,理解一下各个函数的作用是什么。然后,使用Burp操作改包,修改filename,这里为什么是修改filename我也不清楚,等回头再看看。

2. Burp操作改包

发包,就看到了。这里有几点要注意的地方:

  • 语句后面的分号不要忘写了
  • Burp中把反序列化里面的双引号转义一下,避免产生歧义
  • 找到文件后,再找到目录就可以看到flag了。找目录的方法也有二

    一:用语句查询的方法来找

    可以看到当前执行的脚本文件的目录。然后就也是刚刚那个操作,就出来了。

    二:用file_get_contents函数将文件内容写入一个字符串中,然后打印出来

    phpinfo里面的全局变量的信息多的惊人

    上面那个是当前执行的脚本文件的目录。然后就也是刚刚那个操作,就出来了。

    好啦,终于写完了

    参考:https://www.cnblogs.com/zzjdbk/p/12995217.html

    你可能感兴趣的文章
    Python 内置时间模块
    查看>>
    python 内部如何实现命名元组?
    查看>>
    python 写入json数据到数据库
    查看>>
    Python 列表删除相同的元素
    查看>>
    Python 初学者需要知道的四条建议
    查看>>
    Python 判断字符串是否包含子字符串
    查看>>
    python 判断当前时间是否为零点
    查看>>
    python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
    查看>>
    python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    查看>>
    python 利用pyttsx3文字转语音
    查看>>
    python 利用已有Ner模型进行数据清洗合并
    查看>>
    python 到大数据开发工程师_如何成为一个大数据开发工程师?
    查看>>
    python 加密解密(base64, AES)
    查看>>
    Python 和Java 哪个更适合做自动化测试?
    查看>>
    python 图片转ico
    查看>>
    python 图片转文字、语音转文字、文字转语音保存音频并朗读
    查看>>
    python 在包含类似字符\x16、\x12、\x某某的数组中将以\x开头的字符找出来的方法
    查看>>
    Python 在并行进程之间共享字典
    查看>>
    Python 垃圾收集器文档
    查看>>
    python 基于 wordcloud + jieba + matplotlib 生成词云
    查看>>