PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站。官方提供了大量网站模板免费下载和使用,将致力于为广大开发者和企业提供最佳的网站开发建设解决方案。
二、漏洞简介:
程序对传入的参数,如果为数组,对数组的key值没有进行任何的过滤和类型限制,导致直接拼接到SQL语句中执行,造成SQL注入漏洞
三、漏洞分析过程:
1、首先分析一下程序接收参数的方式、底层的过滤机制:
coreunctionhelper.php中定义了get、post等接收参数的函数,最终都经过了filter()函数进行处理:
跟进filter()函数,代码很多,先不看 看到最终还会交给escape_string()函数处理:
跟进escape_string()函数,可以看到对参数进行过滤,但是这里注意,只过滤了value值,替换了一下敏感字符、html实例化、转义等处理,但是key值没有做任何处理的,所以可以在key值处下功夫:
ok,底层接收参数,以及大概的过滤机制都了解清楚了,步入今天的正题:
定位到控制器方法:ppshomecontrollerMessageController.php中的add()方法:
|