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

我们可以看到题目代码给出了反序列化点,却没有给出pop链,这个时候就可以考虑到利用php的原生类进行XSS

我们首先需要了解一下PHP序列化及其反序列化的魔术方法

__ toString __:当对象被当作一个字符串使用时候调用(不仅仅是echo的时候,比如file_exists()判断也会触发)

这里主要讲两个Php的内置类:Error和Exception

Error

适用于php7版本

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

利用方法:

我们可以看到成功执行了我们构造的恶意代码

Exception

适用于php5、7版本

这个类利用的方式和原理和Error 类相同,只是适用范围更广

利用方法:

可以看到恶意代码同样被执行了

原文:https://www.cnblogs.com/NPFS/p/13385038.html

怎么访问原生php类,关于如何利用php的原生类进行XSS相关推荐

  1. 利用java反射调用类的的私有方法--转

    原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为 ...

  2. 利用反射技术修改类中的字段(成员变量的反射)

    题目:利用反射技术修改类中的字段及成员变量的反射 作者:Vashon 一.首先定义一个类如下: class ReflectPoint {private int x; //私有的public int y ...

  3. 友元函数可以访问私有成员吗_C++的友元函数和友元类

    C++使用类对数据进行隐藏和封装,类的数据成员一般定义为私有成员,而将提供类与外界通讯接口的成员函数定义为公有的. C++类成员的三种访问权限: public:可以被该类中的函数.子类的函数.友元函数 ...

  4. VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor

    目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数 ...

  5. VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能

    目录 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能 接上:VC+ ...

  6. 利用OpenCV的VideoCapture类实现视频读操作

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 博主注:后来,博主又写了一篇更为详细介绍Vide ...

  7. NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)

    NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练.测试(某个单词的相关词汇) 目录 输出结果 设计思路 核心代码 输出结果 寻找训练文本中与morning最相关的10个词汇: ...

  8. 利用java反射调用类的的私有方法

    http://blog.csdn.net/sunyujia/article/details/2501709 今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为在反射看来根 ...

  9. Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图

    文章目录 前言 一.安装 Eclipse 官方提供的安装框架 GEF 1.1.Eclipse 中第三方插件更新/安装策略 1.2.为什么选择 GEF 框架? 1.3.GEF 框架安装 二.安装 Ama ...

最新文章

  1. 说一说MVC的CompressActionFilterAttrubute(五)
  2. python语言:烟花效果实现
  3. .NET I/O 学习笔记:文件的读和写
  4. 搭建K8s集群(二进制方式)-搭建步骤介绍
  5. ObjectiveC 深浅拷贝学习
  6. unzip不能解压mysql的zip_Linux中zip压缩和unzip解压缩命令详解
  7. C语言挂载文件夹,使用autofs 按需挂载共享目录
  8. 研华数据采集卡如何采集压力信号转化为数字信号_厦门信号发生器-泰华仪表...
  9. dj鲜生-37-order应用-模型类创建
  10. php mime base64,base64_encode — 使用 MIME base64 对数据进行编码
  11. 通过密钥 SFTP(二)限定用户根目录
  12. Java 8 新特性(二)流类库
  13. 卡尔曼滤波原理图文详解
  14. vue对vue-giant-tree进行节点操作
  15. 用Python做一个Mean Rerversion策略
  16. 天宝数字水准仪数据格式转换
  17. c语言程序无法打开文件,C语言fopen()总是提示无法正常打开文件
  18. 计算机网络——路由算法
  19. 【sas】tabulate报表
  20. ARIMA模型——非平稳序列的随机性分析

热门文章

  1. 【招聘内推】阿里高德地图招聘应用算法专家(P7,含推荐算法方向)
  2. linux跑程序占用缓存过多释放内存echo 3 > /proc/sys/vm/drop_caches
  3. Ubuntu16.04安装python3.6.6步骤
  4. Python实战从入门到精通第十六讲——匿名函数捕获变量值
  5. 编写模块时的声明(含MODULE_LICENSE等)
  6. 机器学习-1-.py文件的导入问题
  7. 业界分享 | 阿里达摩院:超大规模预训练语言模型落地实践
  8. 如何选择B2C电商仓储系统?
  9. 计算机硬件维修教材,计算机硬件组装与维护教程(21世纪高等教育计算机规划教材)...
  10. 面试准备——Java回顾:高级编程(多线程、常用类、集合、泛型、IO流、反射、动态代理、新特性)