怎么访问原生php类,关于如何利用php的原生类进行XSS
在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相关推荐
- 利用java反射调用类的的私有方法--转
原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为 ...
- 利用反射技术修改类中的字段(成员变量的反射)
题目:利用反射技术修改类中的字段及成员变量的反射 作者:Vashon 一.首先定义一个类如下: class ReflectPoint {private int x; //私有的public int y ...
- 友元函数可以访问私有成员吗_C++的友元函数和友元类
C++使用类对数据进行隐藏和封装,类的数据成员一般定义为私有成员,而将提供类与外界通讯接口的成员函数定义为公有的. C++类成员的三种访问权限: public:可以被该类中的函数.子类的函数.友元函数 ...
- VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor
目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数 ...
- VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能
目录 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能 接上:VC+ ...
- 利用OpenCV的VideoCapture类实现视频读操作
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 博主注:后来,博主又写了一篇更为详细介绍Vide ...
- NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)
NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练.测试(某个单词的相关词汇) 目录 输出结果 设计思路 核心代码 输出结果 寻找训练文本中与morning最相关的10个词汇: ...
- 利用java反射调用类的的私有方法
http://blog.csdn.net/sunyujia/article/details/2501709 今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为在反射看来根 ...
- Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图
文章目录 前言 一.安装 Eclipse 官方提供的安装框架 GEF 1.1.Eclipse 中第三方插件更新/安装策略 1.2.为什么选择 GEF 框架? 1.3.GEF 框架安装 二.安装 Ama ...
最新文章
- 说一说MVC的CompressActionFilterAttrubute(五)
- python语言:烟花效果实现
- .NET I/O 学习笔记:文件的读和写
- 搭建K8s集群(二进制方式)-搭建步骤介绍
- ObjectiveC 深浅拷贝学习
- unzip不能解压mysql的zip_Linux中zip压缩和unzip解压缩命令详解
- C语言挂载文件夹,使用autofs 按需挂载共享目录
- 研华数据采集卡如何采集压力信号转化为数字信号_厦门信号发生器-泰华仪表...
- dj鲜生-37-order应用-模型类创建
- php mime base64,base64_encode — 使用 MIME base64 对数据进行编码
- 通过密钥 SFTP(二)限定用户根目录
- Java 8 新特性(二)流类库
- 卡尔曼滤波原理图文详解
- vue对vue-giant-tree进行节点操作
- 用Python做一个Mean Rerversion策略
- 天宝数字水准仪数据格式转换
- c语言程序无法打开文件,C语言fopen()总是提示无法正常打开文件
- 计算机网络——路由算法
- 【sas】tabulate报表
- ARIMA模型——非平稳序列的随机性分析
热门文章
- 【招聘内推】阿里高德地图招聘应用算法专家(P7,含推荐算法方向)
- linux跑程序占用缓存过多释放内存echo 3 > /proc/sys/vm/drop_caches
- Ubuntu16.04安装python3.6.6步骤
- Python实战从入门到精通第十六讲——匿名函数捕获变量值
- 编写模块时的声明(含MODULE_LICENSE等)
- 机器学习-1-.py文件的导入问题
- 业界分享 | 阿里达摩院:超大规模预训练语言模型落地实践
- 如何选择B2C电商仓储系统?
- 计算机硬件维修教材,计算机硬件组装与维护教程(21世纪高等教育计算机规划教材)...
- 面试准备——Java回顾:高级编程(多线程、常用类、集合、泛型、IO流、反射、动态代理、新特性)