CVE2024-4577 成因梳理

news/2024/11/17 10:05:27/文章来源:https://www.cnblogs.com/fr09/p/18389240

CVE-2012-1823

提到PHP-CGI有关的漏洞 就不得不提起CVE-2012-1823 该漏洞利用php-cgi将用户传入的cgi数据中的query_string部分的-后参数当做了 脚本的处理参数处理
攻击者可以利用-d参数修改配置项 实现远程命令执行的效果 也可以-i读出源码
当时这个漏洞被apache修复了 修复的方式也很简单 就是将-后的参数不作为脚本参数解析 那实际上php-cgi还是能识别参数并执行的

if((query_string = getenv("QUERY_STRING")) != NULL && strchr(query_string, '=') == NULL)
{
/* we've got query string that has no = - apache CGI will pass it to command line */ unsigned char *p;decoded_query_string = strdup(query_string); php_url_decode(decoded_query_string,strlen(decoded_query_string));for (p = decoded_query_string; *p && *p <= ' '; p++){ /* skip all leading spaces */ } if(*p == '-') {skip_getopt = 1; // 就在这里 当检测到 - 后就会跳过解析} free(decoded_query_string);
}

CVE2024-4577

作为一个新的漏洞 其被我们祖国的台湾的orange老师发现
简单的说 这个漏洞就是绕过了-符号
在中间件为Unicode但操作系统使用的为中文 日文 繁体 等中南亚国家文字编码时 需要编码适配
编码适配时 会匹配best-fit 匹配后会将超出限度的编码适配到可表示的编码
详见:
https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit936.txt
image
有这么一条编码适配 现在我们只要使用0xad替换-进行测试
这个漏洞常见于 xampp xampp是国外常用的中间件 其中间件编码默认为Unicode 当安装主机使用中文编码后会触发最佳适配
但是这个漏洞的前提是 apache使用php-cgi解析cgi数据 但是一般中间件不会再使用php-cgi 而是使用效率更好的 php-mod php-fpm来解析
但是xampp会把php-cgi放在默认的cgi目录下 我们可以直接通过目录访问php-cgi
但是默认配置中php-cgi是不允许直接访问的
cgi.force_redirect=1强制重定向选项 只接受重定向来的数据 对直接访问的数据不处理

但是 我们可以利用最新的漏洞 用-d选项把强制重定向给关闭了
image
如上图 添加选项并通过 phpinput伪协议 可以实现任意命令执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/789713.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sipp模拟uas发送update

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 但是fs在处理update消息时候有BUG,为了复现问题,使用sipp模拟uas,发送update并发送DTMF码。 本文档记录sipp的配置方案。 环境 CentOS 7.9 freeswitch 1.10.7 sipp.3.6.2 问题描述 在与运营商对接的过程中,运营商内部…

PbootCms模板中如何写 PHP 代码?

模板中编写 PHP 代码 在 PbootCms 中,执行 PHP 代码存在两种方式: 其一: /方法一/ {php} echo Hello Word! {/php} 其二: /方法二/ 鉴于 PbootCms 的模板机制,在原生 PHP 代码当中,是不能够对 pb 标签里的值予以二次处理的。 比如说(错误示范) 在后台存在一个字段{cont…

后台传值与dialog的使用

1.后台在给前端传值时需要id来作为唯一索引查找,前后端对应才能查找到对应的数据 我今天后端写好了代码但是前端没有把id引入导致更新信息不好使获取数据时一定要把id取到 2.dialog方法 这是一个简单的弹出框,里面是编辑内容的form卡片 将dialog的属性为true就能在页面显示,…

PbootCMS全站模板date时间标签/时间格式常见的8种调用方式

首页/列表标签:列表页时间:[list:date] 效果:2021-12-06 09:12:30列表页时间:[list:date style=Y-m-d] 效果:2021-12-06列表页时间:[list:date style=Y 效果:2021列表页时间:[list:date style=m-d] 效果:12-06列表页时间:[list:date style=y-m-d] 效果:21…

pbootcms调用标题和摘要描述字数限制方法

长度截取可以采用 len=* 或者 lencn=* 的方式。其中,使用 lencn=* 能够规避中英文长度不一致的问题,因为在这种设置下,一个英文字符被算作半个字。 在(V1.3.5+)版本中,进行内容截取时,可以通过 more=*来设置省略号内容,而若设置 more=则不会显示省略号。 例如:在对内容…

构建智慧人才档案,驱动未来发展新引擎 —— 解锁人才管理新篇章

在这个日新月异的时代,人才已成为企业最宝贵的资源,是推动社会进步和企业持续发展的核心动力。如何高效、精准地管理人才,让每一位员工的潜能得以最大化释放,成为了每一个组织面临的重大课题。人才档案报表不仅仅是一份简单的信息汇总,它是基于大数据与人工智能技术,对每…

标签贴错,AMD召回所有新一代CPU

前言 上个月,AMD 首席执行官苏姿丰博士在 ComputeX 开幕主题演讲上揭开了 Zen 5 架构的神秘面纱。作为 AMD 未来几年 CPU 的台柱子,Zen 5 立刻被引入消费级市场,面向笔记本和台式机的产品在几周内相继发布。 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术…

pbootcms模板发布文章显示的默认作者如何修改?

扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。专业解决各种疑难杂症,您有任何网站问题都…

PbootCMS文章列表没有缩略图时也不显示默认图片怎么办

在运用 pbootcms 模板来构建网站的整个流程之中,如果列表采用了缩略图予以显示,那么即使在后台未曾上传缩略图的情况下,依然会展示出默认图片。 倘若我们并不期望显示默认图片,在此种情形下,我们便能够借助 PB 自身所带有的缩略图返回值,来对是否上传了缩略图进行判定。 …

PbootCMS网站标题描述等标签限制字数的办法完美结局

对于内容列表标题的截取可以是[list:title len=60]、在内容详情页进行时间格式化可以写成{content:title len=60} substr=x,y 能够用于截取一段。 substr 用于截取字符串的长度,传递两个数字,第一个数字代表起始位置,第二个数字代表截取的长度,如果只有一个数字,那么就会截…

掌握电商数据分析,轻松提升销售业绩

在电商行业中,数据分析是不可或缺的一部分。它能帮助商家精准掌握市场动态,优化运营策略,从而提升销售业绩。然而,面对大量复杂的数据,许多电商运营者往往不知道从哪里开始分析。那么,电商运营究竟如何有效地进行数据分析呢?让我们来深入探讨这个话题。 数据分析中的常…

Macro / Micro / Weighted AUC 如何计算实例讲解

情景:二分类模型在验证集上的 outputs 为 [[-0.0464, -0.0268], [-0.0234, -0.0091]],验证集 labels 为 [0, 1]。一步一步推导出 AUC。首先明确几个概念TPR: sensitive/recall,检测出来的阳性样本的占比,适用于癌症筛查FPR:模型是否把所有的阴性样本都预测成了阳性👉极限…