问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

代码审计Day7 - parse_str函数缺陷

发布网友 发布时间:2024-09-30 23:43

我来回答

1个回答

热心网友 时间:2024-10-14 05:40

本文由红日安全成员:l1nk3r 编写,如有不当,还望斧正。

在PHP代码审计的项目 PHP-Audit-Labs 中,我们当前讨论的是第7篇关于“代码审计Day7 - parse_str函数缺陷”的文章。本阶段的内容题目均来自 PHP SECURITY CALENDAR 2017 ,旨在提供分析和实际CMS案例解说。

此篇文章关注的是变量覆盖漏洞,特别指出这一漏洞的产生与不安全的parse_str函数使用密切相关。通过提交特定格式的数据,如"config[dbhost]=127.0.0.1",可以控制全局变量并绕过登陆验证,进而进行攻击。解析parse_str函数定义,揭示其将查询字符串解析为变量并直接覆盖现有作用域中变量的特性。

实例分析聚焦于DedeCmsV5.6版本的漏洞,该版本的buy_action.php处存在SQL注入漏洞,与parse_str函数密切相关。通过对比补丁和源文件,发现补丁主要针对加密函数强度的加强,推测漏洞可能由mchStrCode编码方法引起。进一步分析发现,此函数可以编码或解码用户提交的数据,并且在某些情况下,解码结果可能未经过充分过滤,导致SQL注入产生。

分析中提到,mchStrCode函数的关键问题在于未对定义的key进行检查,允许攻击者通过编码绕过GPC和其他过滤机制,将攻击代码直接注入目标。详细解析了mchStrCode函数的编码过程,指出其中使用$_SERVER["HTTP_USER_AGENT"]与$GLOBALS['cfg_cookie_encode']进行拼接并进行md5计算,以获取加密密钥。

利用思路中提到,虽然漏洞原理简单,但利用难度较高,关键在于解决mchStrCode函数的编码问题。通过搜索全文,找到一处加密调用,发现可以利用其特性绕过过滤。具体操作包括使用[a=1&b=2%26c=3]的提交方式,让页面直接回显并获取pr_encode和pr_verify值,进而实现SQL注入攻击。

漏洞利用示例中,通过特定参数访问buy_action.php文件,配合差异性参数和SQL注入代码,获取pd_encode和pd_verify字段的值。最后构造payload进行攻击。文章最后提供了修复建议,包括在注册变量前先判断变量是否存在,以及使用extract函数配置EXTR_SKIP参数等。

文章结尾留有CTF题目,鼓励读者实践。同时,作者提供了CMS下载链接和邮箱联系方式,欢迎交流和讨论。对于parse_str函数的深入理解,通过实例分析和漏洞利用示例,读者可以更加清晰地理解其潜在风险和应对策略。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我爱杜大宝,藏头诗 大鹏忽起遮白日的下一句大鹏忽起遮白日的下一句是什么 盈余公积转增注册资本应交税但是逃税会怎么处罚? 黄茶的功效与作用禁忌 黄茶的功效和禁忌分别是什么 我是win7系统,装完VMware workstation8.0后,运行汉化包,结果就出现下面... 在win7 64位下安装vmware workstation 8.0遇到了错误 谁有win7 64位的可以安装的 VMware Workstation 8.02 或者可以用的激活... 怎样才能把家里的网络切换到外网呢?? ...有以下转化关系,部分产物未标出.试回答:(1)写出下列物质的化学式X... 张杰2.19上哪个央视的春晚2015 2015春晚嘉宾名单有张杰吗 125摩托车换完缸桶!活塞!活塞环!凸轮!摇臂!机油!机油滤网发现的... 豪爵铃木125化油器一点火就轰油门很大声是怎么回事!之前换过油门线的... 包头奥林匹克公园游玩攻略,包头旅游景点开放了吗现在 一驻波表达式为y=2Acos(2π/λ)cos wt,则x=-½λ处质点的振动方程是... 设f(x)=x^acos1/x,x>0和0,x=0.在x=0处连续但不可导,则a的取值范围是多... 急急急!f(x)=2acos^2x bsinxcosxinclude <windows.h 求极限,sin(ax)/sin(bx),b不等于0,x趋于0,求高手指点啊,怎么求,急急急... 参数方程x=a+acosβ y=asinβ(a>0,β为参数) 求y=sin(ax+b)的导数,a和b均为常数 若函数f(x)=asin(ax)+acos(ax)(a>0)的最大值是2,则函数的最小正周期... 函数y=Asin(ax+b)的图像与函数y=Acos(ax+b)(a>0)的图像在区间[c,c+... 在函数y=acos(ax+θ)(a,θ∈R,aθ≠0)的图象上,同一周期内的最高点与... 江南丝竹图书目录 ...作“音乐”解,在文言文中还有什么这样的例子? 不交房租,跑掉他会找得到我吗 考焊工证要花多少钱啊? 2023必点赞的朋友圈说说(精选57句) 2023年最火文案正能量(精选58句) 代码审计Day9 - str_replace函数过滤不当 电脑组装的问题。我是超级大白菜,我对电脑一点都不懂,,希望各位帮帮... 我想组装个电脑主机3000左右的,打游戏用的,该买些什么配置啊,大家帮... 2500-3000直接买个台式电脑,或者组装,有啥区别,我并不玩游戏,可以说不... ...组装电脑,价格3000左右,什么配置呢?专门玩游戏的那种电脑,主流游戏... ...下载完了我就关机了、也没有安装、结果找不到了 联通笔试都考哪方面 求助09联通校园招聘笔试考什么 下星期准备去塞罕坝玩,可是看天气预报有雨,影响嘛?是雷阵雨还是会 什么是雪蛤?谁知道? 雪蛤是什么 什么是雪蛤 全民疫保通理赔难吗?哪些情况不赔? afp病例的最终分类由哪级完成 绝地逃杀一运行三秒后直接显示崩溃 进不去游戏 上午还玩的好好地 急... 柱层析硅胶规格 一键整理桌面后如何还原桌面布局? 宝宝怎么做开荤食物 用这个头像的女人什么性格啊? 女生用这个头像,什么性格? 2023年闰二月初四出生袁姓男孩名字