PbootCMS前台SQL注入漏洞(下)

PbootCMS新SQL注入漏洞分析与利用

0x01前言

在前一篇文章中介绍了一个仍然可以用于最新版PbootCMS的老漏洞DVB-2021-2510,并对漏洞流程进行分析,给出了在有限条件下利用漏洞的方式。

本文将在前一篇文章的基础上继续给出新的PbootCMS SQL注入漏洞,并对利用方式进行更深入的探讨。

0x02漏洞分析

由于PbootCMS使用了模板的方法来组合产品页面内容,为了支持可扩展性,支持非常复杂的语法,对基础内容想了解的可以先看文章https://xz.aliyun.com/t/14090。

apps/home/controller/TagController.php文件中,会把外部传入的数据get('tag')替换模板文件中的内容。

图片

图1

这里的get('tag')和上一篇文章中的request($key, 'vars')有一个很大的区别是没有第二个参数,我们跟进get方法,看一下没有第二个参数的传值有哪些限制。

图片

图2

如果没有传入第二个参数,默认值为null。跟进filter方法,可以看出在filter对类型和数据的安全检查中,第二个参数为null并不会命中任何一个条件判断,也就是不会对数据值进行任何限制。这里因为$condition['d_type']为null也不会因此而报错。

图片

图3

虽然数据类型检测,但是filter方法中仍然有对其值的过滤方式,会替换很多标签相关的内容。这里需要重点标记一下,因为后面的SQL注入要用到这里过滤不完整的标签。

图片

图4

回到图1的代码中,外部传入的get('tag')经过方法parserPositionLabel会替换模板文件中的部分内容,跟进parserPositionLa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值