当前位置: 首页 > news >正文

折扣券网站怎么做邯郸本地网络设计

折扣券网站怎么做,邯郸本地网络设计,学校网站查询学历,龙华建网站公司引言 在网络安全领域#xff0c;技术的研究与讨论是不断进步的动力。本文针对WordPress的一个对象注入漏洞进行分析#xff0c;旨在分享技术细节并提醒安全的重要性。特别强调#xff1a;本文内容仅限技术研究#xff0c;严禁用于非法目的。 漏洞背景 继WordPress CVE-2…引言 在网络安全领域技术的研究与讨论是不断进步的动力。本文针对WordPress的一个对象注入漏洞进行分析旨在分享技术细节并提醒安全的重要性。特别强调本文内容仅限技术研究严禁用于非法目的。 漏洞背景 继WordPress CVE-2022-21661注入漏洞之后安全研究人员又发现了一个严重的对象注入漏洞该漏洞允许具有管理员权限的用户通过修改特定的选项来获取服务器的shell访问权限。 影响范围 以下是受该漏洞影响的WordPress实例条件 WordPress版本低于5.8.3。启用了多站点模式。存在一条可用的反序列化链本文不展开讨论。 GitHub上的漏洞修复记录可以在此链接查看 环境搭建 为了复现此漏洞首先需要搭建一个符合条件的WordPress环境。可以通过以下命令获取漏洞修复前的WordPress源码 git clone https://github.com/WordPress/WordPress git checkout 7d20ea9漏洞分析 漏洞入口点 首先来到 wp-admin/upgrade.php这是管理员可以直接访问到的文件也是我认为的此漏洞的入口点。 跟进 wp_upgrade函数来到 wp-admin/includes/upgrade.php 首先看几个全局变量$wp_db_version在 wp-includes/version.php中定义根据其定义处的注释来看这是本安装程序的数据库版本在下一行中从数据库中取出了 db_version赋值给 $wp_current_db_version看这情况大概是一个是固定的数据库版本另一个是可变的upgrade.php会时不时地比较当发生改变时会进行一些操作 接下来看到我下的断点处进入 upgrade_all()函数 这里就是在将两个版本进行比较一致时不发生任何变化不一致时运行后面的代码接着看下面 根据从数据库中取出的 db_version也就是此处的 $wp_current_db_version的大小会进行不同的处理我们来关注断点处的 upgrade_280函数 看到 1611 行的 is_multisite()跟进 这是一个判断是否开启了多站点的函数这也是本漏洞的一个开启条件必须要开启多站点才可以。开多站点需要改配置文件我这里图省事儿直接改了判断条件 !is_multisite()强行让他绕过了 继续看上面进入循环每次从 wp_options表中取 20 条数据将每一条数据都进行反序列化漏洞的点就在此处了因为 wp_options中的数据大部分都是可控的我们可以通过管理员修改其值最后进入反序列化。 还有两个问题第一如何控制 db_version的值让他进入我们想要进入的函数第二如何更改 wp_options中的值。 数据写入 其实这两个是同一个问题一并解决wordpress后台没有直接访问所有 options的按钮但我们可以访问 wp-admin/options.php 这里可以更改 db_options中大部分的值包括 db_version我们将其修改为 10300就满足了进入漏洞函数的要求接下来我们尝试写入反序列化字符串 我们先随便选择一个选项写入反序列化字符串这里我首先选择的是 blogdescription也就是博客描述这个也可以在常规选项中更改更建议因为需要处理的值会更少调试没那么费力,post的数据会逐个进入 wp-includes/option.php中的 update_option来看几个比较重要的函数PS太长截图截不完 这里首先说明一下 $option是每个选项的键$value是每个选项的值 首先看到 sanitize_option 这个函数会根据不同的键来选择不同的处理方式比如一些一定会用整数的就会intval处理所以选择的选项也是有讲究的我之前选择的blogdescription就因为这个函数而无法使用他会将一些特殊字符编码导致无法正常反序列化这个可以慢慢尝试尽量选择这个函数不会进行太多处理的选项 最终我选择的是 wp-admin/options-writing.php中的 “密码”选择 options.php中的mailserver_pass也一样是同一个一般来说密码对字符都不会有太多的限制至少这里是的 回到之前的 update_option的代码稍微注意一下这里的比较 如果我们输入的选择没有发生改变就不会继续后面的代码继续往下走进入 wp-includes/functions.php中的maybe_serialize函数 如果是数组或者对象那么会直接序列化后返回。然后进入 is_serialized函数 这里会取字符串的第一个字符进行比较这里几乎囊括了反序列化字符串的所有类型遇到是这一些的返回后会再次反序列化也就是进行了二次反序列化这样几乎是防止了可能的反序列化。 这里遗漏了一个 C类型官方文档对他的描述是 custom object自定义对象这个以前几乎没有用到过因此这次进行了一次测试 代码 结果 同一个类将类型从 O修改为了 C反序列化运行后虽然报错但最后仍然会触发 __destruct方法因此我们可以将一个正常的反序列化字符串将第一个字符 O修改为 C这样就可以逃过这里的二次反序列化从而将我们的反序列化字符串写入数据库等待触发即可。 0x03 漏洞复现 本菜鸡找不到 wordpress的链子只能随意触发一个 __destruct意思意思 这里使用 wp-includes/Requests/Transport/cURL.php中的 Requests_Transport_cURL类 C:23:Requests_Transport_cURL:0:{}查看数据库并没有被二次序列化 来到wp-admin/options.php将 db_version修改为 10300 这里一个意外的发现修改数据库的时候就会触发漏洞入口 成功取出数据库中的反序列化串并且执行反序列化 触发 __destruct方法 总结 通过对WordPress对象注入漏洞的深入分析与复现我们发现漏洞的利用存在一定的复杂性。这不仅是对技术能力的挑战也是对安全意识的考验。在学习和研究过程中我们应始终保持谨慎和敬畏之心。 参考链接 GitHub漏洞利用代码仓库d5shenwu/vulPOC 关于 剑芸信息安全团队 剑芸信息安全团队成立于2022年9月我们是一个专注于互联网攻防技术研究的团队。我们的研究领域涵盖网络攻防、Web安全、移动终端安全、安全开发以及IoT/物联网/工控安全等。 想了解更多关于我们请继续关注。
http://www.w-s-a.com/news/996618/

相关文章:

  • php网站开发概念网站开发岗位职责任职责格
  • asp 网站源码 下载西安自适应网站建设
  • 白领兼职做网站贵阳网站设计哪家好
  • 热水器网站建设 中企动力企业网站开发需要多钱
  • 北京市建设工程信息网交易网站静态网页模板免费下载网站
  • 福田欧曼服务站网站前台设计
  • 网站做系统叫什么软件吗注册域名需要实名认证吗
  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索
  • 现在建网站多少钱推广营销费
  • 联想企业网站建设的思路西安网站建设阳建
  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片