【原创】PageAdminCMS 前台SQL注入漏洞(3)

之前根据公司的要求找了几个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两个自定义函数对用户的请求数据进行过滤。但是在attachment_download.aspx文件中,对用户是否登录进行验证时,把cookie参数带入了查询语句,代码如下:

首先传递一个合法的id进去,这个id可以随便在网站上找一个图片的ID或者直接输入一个比较小的值,只要能在数据库中匹配到一行就可以。

程序在数据库中匹配到文件之后,会进行用户身份验证,注入就发生在这个验证过程中,代码如下:

通过抓包,对cookie中UserName的值进行构造,便可以进行SQL注入:

返回如下内容:

posted @ 2016-01-19 09:40  rebeyond  阅读(2049)  评论(0编辑  收藏  举报