不安全JSON解析在PHP中可导致代码执行,主要方式包括:一、eval动态执行;二、unserialize反序列化漏洞;三、键名反射调用函数;四、preg_replace /e修饰符注入;五、自动加载机制触发恶意类执行。
如果JSON数据在PHP环境中被不安全地解析,可能导致意外的代码执行。以下是实现JSON数据解析并触发PHP代码执行的几种方法:
该方法将JSON中预设的PHP代码字符串提取后,通过eval直接执行。此方式绕过常规JSON解码逻辑,直接将字段内容作为PHP指令运行。
1、构造包含PHP代码字符串的JSON,例如:{"cmd":"echo 'Hello'; system('id');"}。
2、使用json_decode解析JSON,获取cmd字段值。
3、对cmd字段内容进行基础校验(如白名单关键词过滤)后,用eval('?>' . $cmd)执行。
当JSON数据被错误地转换为PHP序列化格式并调用unserialize时,若存在可利用的魔术方法类,可能触发任意代码执行。
1、构造JSON数据,其值模拟序列化字符串结构,例如:{"data":"O:8:\"EvilClass\":1:{s:4:\"code\";s:12:\"system('ls');\";}"}。
2、将data字段值取出,替换JSON双引号与转义符,拼接为合法序列化字符串。
3、调用unserialize($malicious_str),触发__wakeup或__destruct中的危险操作。
该方法利用JSON对象键名作为函数名,值作为参数,结合call_user_func_array实现反射式执行。
1、构造JSON,例如:{"function_name":"exec","args":["whoami"]}。
2、使用json_decode解析为关联数组,提取function_name和args字段。
3、检查function_name是否在允许函数白名单内,确认后执行:call_user_func_array($func, $args)。
在旧版PHP中,若JSON中包含正则表达式模式与替换字符串,且解析后传入preg_replace并启用/e修饰符,可导致代码执行。
1、构造JSON,例如:{"pattern":"/.*/e","replacement":"phpinfo()"}。
2、解析JSON后取出pattern和replacement字段。
3、执行preg_replace($pattern, $replacement, 'test'),触发replacement中PHP代码解释执行。
当JSON解码为对象且属性被访问时,若存在__get或__set等魔术方法,并配合自动加载未定义类,可能触发恶意类文件包含与执行。
1、构造JSON,例如:{"class":"MaliciousPayload","param":"/tmp/shell.php"}。
2、使用json_decode($json, false)生成stdClass对象。
3、对该对象属性赋值或读取,触发自动加载机制,加载并实例化MaliciousPayload类,其构造函数中执行include $this->param。
# php
# js
# json
# 正则表达式
# echo
# 关联数组
# 构造函数
# include
# 字符串
# class
# 对象
# this
# 关键词
# 序列化
# 自动加载
# 键名
# 修饰符
# 不安全
# 转换为
# 可利用
# 旧版
# 更早
相关文章:
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
PHP 500报错的快速解决方法
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
黑客如何通过漏洞一步步攻陷网站服务器?
已有域名能否直接搭建网站?
如何通过智能用户系统一键生成高效建站方案?
建站主机无法访问?如何排查域名与服务器问题
济南专业网站制作公司,济南信息工程学校怎么样?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
如何快速上传建站程序避免常见错误?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
制作宣传网站的软件,小红书可以宣传网站吗?
家庭服务器如何搭建个人网站?
建站之星导航菜单设置与功能模块配置全攻略
广州建站公司哪家好?十大优质服务商推荐
建站之星官网登录失败?如何快速解决?
C#如何使用XPathNavigator高效查询XML
高防服务器:AI智能防御DDoS攻击与数据安全保障
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何确保西部建站助手FTP传输的安全性?
如何在阿里云部署织梦网站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何快速搭建高效WAP手机网站吸引移动用户?
*服务器网站为何频现安全漏洞?
建站之星微信建站一键生成小程序+多端营销系统
C#怎么创建控制台应用 C# Console App项目创建方法
手机网站制作与建设方案,手机网站如何建设?
如何选择香港主机高效搭建外贸独立站?
高性价比服务器租赁——企业级配置与24小时运维服务
公众号网站制作网页,微信公众号怎么制作?
建站主机选哪种环境更利于SEO优化?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何彻底卸载建站之星软件?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
怎么将XML数据可视化 D3.js加载XML
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
制作门户网站的参考文献在哪,小说网站怎么建立?
如何快速生成高效建站系统源代码?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
无锡营销型网站制作公司,无锡网选车牌流程?
代刷网站制作软件,别人代刷火车票靠谱吗?
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何通过VPS建站实现广告与增值服务盈利?
如何快速生成ASP一键建站模板并优化安全性?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
*请认真填写需求信息,我们会在24小时内与您取得联系。