【原创】PageAdminCMS 前台SQL注入漏洞(2)
之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了。
文章作者:rebeyond
受影响版本:V3.0
漏洞说明:
PageAdmin网站管理系统(CMS)是.NET开发的一款支持多分站、多语种,集成内容发布、信息发布、自定义表单、自定义模型、会员系统、业务管理等功能于一体的独立网站管理系统,支持Access和MSSQL Server数据库。用户可以下载安装使用,系统于2008年正式发布,目前全国用户已经超过50万以上,被广泛用于全国各级政府、学校和企业的网站搭建,具有以下特点: 1、简单易用、强大灵活;2、高负载功能;3、样式和内容分离;4、周密的安全策略和攻击防护。
该系统的留言模块对用户提交的参数没有进行充分的过滤,导致SQL注入。可直接获取数据库数据,如果采用的是MSSQL Server数据库,则有可能直接获取数据库服务器系统权限。
漏洞分析:
PageAdmin的逻辑代码混合存在于aspx页面、aspx.cs文件,以及dll文件中,dll文件中的代码对属性和方法名称、程序流程进行了混淆处理。程序通过IsStr和IsNum两个自定义函数对用户的请求数据进行过滤。
系统在整个程序流程中对当前登录用户名的获取都是通过数据库查询获得的,但是在用户留言模块,把用户名从数据库取出之后,并没有直接使用,而是放到了留言表单的一个隐藏字段中,提交留言的时候,会从该隐藏字段读取用户名,并带入数据库,从而导致SQL注入。
private void Check_IsMember()
{
if(Request.Cookies["Member"]==null)
{
P2.Visible=true;
}
else
{
Member_Valicate Member=new Member_Valicate();
Member.Member_Check(); //此处从数据库中读取用户名
Current_LoginName=Member._UserName;
Lb_CurrentLoginName.Text=Current_LoginName; //此处把读取到的用户名放到了一个表单控件中
P1.Visible=true; //把该表单控件设置为隐藏状态
}
}
程序在下面的代码中带入数据库中:
private void Post_Fbk()
{
string Fbk_Content=Request.Form["fb_content"];
if(Fbk_Content.Trim()=="")
{
conn.Close();
Response.Write("<script type='text/javascript'>alert('留言内容不能为空!');location.href=location.href</script>");
Response.End();
}
else
{
Fbk_Content=ResplayJs(Fbk_Content);
Current_LoginName=Request.Form["Current_LoginName"]; //此处从隐藏表单中取用户名
sql="insert into pa_spcfbk(space_owner,fbk_username,feedback,reply) values('"+UserName+"','"+Current_LoginName+"','"+Sql_Format(Fbk_Content)+"','')"; //把用户名带入数据库,没有经过任何过滤。
OleDbCommand Comm=new OleDbCommand(sql,conn);
Comm.ExecuteNonQuery();
conn.Close();
Response.Write("<script type='text/javascript'>alert('提交成功!');location.href=location.href</script>");
Response.End();
}
}
漏洞利用:
1、 注册用户并登录。url:http://xx.xx/e/member/index.aspx?type=login&s=1
2、 登录之后,访问我的空间:

3、 点击“给我留言”:

4、 随便填写留言内容,点击提交,然后抓包修改Current_LoginName内容:

6、 返回如下内容,成功注入:

【原创】PageAdminCMS 前台SQL注入漏洞(2)的更多相关文章
- 【原创】PageAdminCMS 前台SQL注入漏洞(3)
之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了. 文章作者:rebeyond 受影响版本:V3.0 漏 ...
- 【原创】PageAdminCMS 前台SQL注入漏洞(1)
之前根据公司的要求找了几个web程序的漏洞提交CNVVD,发现漏洞提交上去两个月了,CNVVD却没有任何回应,我提交的这几个漏洞却悄悄的修补掉了. 文章作者:rebeyond 受影响版本:V3.0 漏 ...
- PHPSHE 1.7前台SQL注入漏洞分析
此CMS SQL注入漏洞产生原因为未将经过 addslashes() 函数过滤的数据使用单引号包裹,从而导致的SQL注入漏洞.接下来看漏洞详情: 首先查看phpshe下的common.php文件37 ...
- Discuz 5.x 6.x 7.x 前台SQL注入漏洞
来源:http://wooyun.jozxing.cc/static/bugs/wooyun-2014-071516.html 漏洞出现在/include/editpost.inc.php. if($ ...
- 泛微 e-cology OA 前台SQL注入漏洞
0x00概述 该漏洞是由于OA系统的WorkflowCenterTreeData接口在收到用户输入的时候未进行安全过滤,oracle数据库传入恶意SQL语句,导致SQL漏洞. 0x01影响范围 使用o ...
- 【代码审计】iZhanCMS_v2.1 前台IndexController.php页面存在SQL注入 漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- 【代码审计】iZhanCMS_v2.1 前台GoodsController.php页面存在SQL注入漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- 利用SQL注入漏洞登录后台的实现方法
利用SQL注入漏洞登录后台的实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-01-12我要评论 工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读 ...
- 什么是简单的分析SQL注入漏洞
如今非常多人在入侵的过程中基本都是通过SQL注入来完毕的,可是有多少人知道为什么会有这种注入漏洞呢?有的会随口说着对于字符的过滤不严造成的. 可是事实是这样吗?我们学这些.不仅要知其然.更要知其所以然 ...
随机推荐
- java代码走查审查规范
分类 重要性 检查项 备注 命名 重要 命名规则是否与所采用的规范保持一致? 成员变量,方法参数等需要使用首字母小写,其余单词首字母大写的命名方式,禁止使用下划线(_)数字等方式命名不 ...
- 随机生成长度为len的密码,且包括大写、小写英文字母和数字
一道华三面试题,随机生成长度为len的密码,且包括大写.小写英文字母和数字,主要Random类的使用,random.nextInt(len)表示生成[0,len)整数.具体实现见下面代码,已经很详细了 ...
- JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框
If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...
- Spring Bean的加载
Spring加载bean的原则:不等bean创建完成就会将创建bean的ObjectFactory提早曝光加入到缓存中. 单例bean在Spring容器里只会创建一次,后续创建时会首先从缓存中获取 ...
- 错误: “WebForm_DoPostBackWithOptions”未定义
无论是ASP.NET WebForm 还是 ASP.NET MVC项目,在本地程序测试没问题,但是部署在IIS上访问就会出现 错误: “WebForm_DoPostBackWithOptions”未 ...
- Python写各大聊天系统的屏蔽脏话功能原理
Python写各大聊天系统的屏蔽脏话功能原理 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时 ...
- 4-iscsi
Iscsi 1. 创建lvm 2. 安装scsi服务端软件包 第一种(命令模式) 第二种(配置文件模式) 客户端 Node1 寻找scsi服务器上的储存设备 将scsi设备挂载 ...
- WordPress + Nginx +PHP+MySQL
Windows下配置Nginx+php环境 1)php的安装与配置. 直接解压下载好的php包,到D盘wnmp目录(D:\wnmp),这里把解压出来的文件夹重命名成php5.进入文件夹修改php.in ...
- webform控件
简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 <asp:Label ID=" CssClass="aaa&qu ...
- 【repost】浏览器内核、渲染引擎、js引擎
[1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firef ...