【原创】PageAdminCMS 前台SQL注入漏洞(1)
之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了。
文章作者:rebeyond
受影响版本:V3.0
漏洞说明:
PageAdmin网站管理系统(CMS)是.NET开发的一款支持多分站、多语种,集成内容发布、信息发布、自定义表单、自定义模型、会员系统、业务管理等功能于一体的独立网站管理系统,支持Access和MSSQL Server数据库。用户可以下载安装使用,系统于2008年正式发布,目前全国用户已经超过50万以上,被广泛用于全国各级政府、学校和企业的网站搭建,具有以下特点: 1、简单易用、强大灵活;2、高负载功能;3、样式和内容分离;4、周密的安全策略和攻击防护。
该系统的订单提交功能对用户提交的参数没有进行充分的过滤,导致SQL注入。
漏洞分析:
PageAdmin的逻辑代码混合存在于aspx页面、aspx.cs文件,以及dll文件中,dll文件中的代码对属性和方法名称、程序流程进行了混淆处理。程序通过IsStr和IsNum两个自定义函数对用户的请求数据进行过滤。但是在order1.cs文件中,对用户提交的相关参数没有进行过滤,代码如下:
首先传递一个合法的siteid进去,只要为数字型即可,然后构造如下表单程序即可实现注入:
其实不只tel一个字段,其他几个字段都没有进行过滤,都可以进行SQL注入。
返回如下内容:
笔者是用access版进行测试的,如果后台数据库是MS SQL Server,就可以直接多句执行了。这套程序的用户量还是挺大的,百度确实能搜到几十万个用户: