duxcms SQL Injection In /admin/module/loginMod.class.php
目录
. 漏洞描述
. 漏洞触发条件
. 漏洞影响范围
. 漏洞代码分析
. 防御方法
. 攻防思考
1. 漏洞描述
duxcms是一款采用PHP开发,基于HMVC规则开发适合中小企业、公司、新闻、个人等相关行业的网站内容管理,它的后台登录处存在sql注入,黑客可通过这个漏洞获取管理员密码、直接任意用户登录后台等攻击
Relevant Link:
http://www.wooyun.org/bugs/wooyun-2010-063055
2. 漏洞触发条件
. 用户名
-" union select 1,2,3,'c4ca4238a0b923820dcc509a6f75849b',5,6,7,8,9,10,11#
/*
这里的md5就是数字1的md5
*/ . 密码:
3. 漏洞影响范围
4. 漏洞代码分析
/admin/module/loginMod.class.php
//登陆检测
public function check()
{
if(empty($_POST['user']) || empty($_POST['password']))
{
$this->msg('帐号信息输入错误!',);
}
//获取帐号信息
/*
这里是漏洞关键,程序未对用户的输入进行正确的过滤、转义
*/
$info = model('login')->user_info($_POST['user']); //进行帐号验证
if(empty($info))
{
$this->msg('登录失败! 无此管理员帐号!',);
}
if($info['password'] <> md5($_POST['password']))
{
$this->msg('登录失败! 密码错误!',);
}
if($info['status']==)
{
$this->msg('登录失败! 帐号已禁用!',);
}
//更新帐号信息
$data['logintime']=time();
$data['ip']=get_client_ip();
$data['loginnum']=intval($info['loginnum'])+;
model('login')->edit($data,intval($info['id']));
//更新登录记录
model('log')->login_log($info);
//设置登录信息
$_SESSION[$this->config['SPOT'].'_user']=$info['id'];
model('user')->current_user(false);
$this->msg('登录成功!',);
}
5. 防御方法
/admin/module/loginMod.class.php
//登陆检测
public function check()
{
if(empty($_POST['user']) || empty($_POST['password']))
{
$this->msg('帐号信息输入错误!',);
} //sql注入防御
$_POST['user'] = addslashes($_POST['user']);
$_POST['password'] = addslashes($_POST['password']);
//获取帐号信息
/*
这里是漏洞关键,程序未对用户的输入进行正确的过滤、转义
*/
$info = model('login')->user_info($_POST['user']); //进行帐号验证
if(empty($info))
{
$this->msg('登录失败! 无此管理员帐号!',);
}
if($info['password'] <> md5($_POST['password']))
{
$this->msg('登录失败! 密码错误!',);
}
if($info['status']==)
{
$this->msg('登录失败! 帐号已禁用!',);
}
//更新帐号信息
$data['logintime']=time();
$data['ip']=get_client_ip();
$data['loginnum']=intval($info['loginnum'])+;
model('login')->edit($data,intval($info['id']));
//更新登录记录
model('log')->login_log($info);
//设置登录信息
$_SESSION[$this->config['SPOT'].'_user']=$info['id'];
model('user')->current_user(false);
$this->msg('登录成功!',);
}
6. 攻防思考
Copyright (c) 2014 LittleHann All rights reserved
duxcms SQL Injection In /admin/module/loginMod.class.php的更多相关文章
- ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 在进行输入变量本地模拟注册的时候,没有进行有效的GPC模拟过滤处理,导出 ...
- How to prevent SQL injection attacks?
In our earlier tutorial on SQL Injection, one way to have prevented the SQL injection attack was by ...
- Zabbix 3.0.3 SQL Injection
Zabbix version 3.0.3 suffers from a remote SQL injection vulnerability. ============================ ...
- 使用sqlmap注入DVWA的SQL Injection菜单
1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...
- SQL注入——SQL Injection
本文部分内容转自:https://www.cnblogs.com/rush/archive/2011/12/31/2309203.html http://www.diybl.com/course/7_ ...
- SQL注入(SQL Injection)案例和防御方案
sql注入(SQL Injection):就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入攻击的主要危害包括:非法读取.篡 ...
- PentesterLab-From SQL Injection to Shell: PostgreSQL edition
一.打开页面,随便点了几下,返现和From SQL Injection to Shell差不多,直奔主题开始注入 由于PostgreSQL与MySQL不同,几个关注点需要注意下 二.order by下 ...
- sqlmap dvwa SQL Injection使用小记
刚刚开始学习sql injection,初步使用sqlmap,使用 GET http://www.dvssc.com/dvwa/vulnerabilities/sqli/?id=1&Submi ...
- DVWA SQL Injection 通关教程
SQL Injection,即SQL注入,SQLi,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害巨大,常常会导致整个数据库被“脱 ...
随机推荐
- java:利用xpath删除xml中的空节点
原始xml内容: <data> <a> </a> <b>b1</b> <awb> <awbpre>123</a ...
- 去除项目中的SVN标记
第一步:建立一个名字叫做remove-svn-folders.reg的文本(先建立txt文件,然后粘贴内容后再修改文件名字),记得后缀要叫.reg.文本的内容为: Windows Registry E ...
- Expression Blend4经验分享:文字公告无缝循环滚动效果
这次分享一个类似新闻公告板的无缝循环滚动效果,相信很多项目都会应用到这个效果.之前我也百度了一下,网上的一些Silverlight的文字或图片滚动效果,都是一次性滚动的,如果要做到无缝循环滚动,多数要 ...
- SQL基础之XML
1.XML数据类型 在SQL Server中xml数据类型可以用来保存xml文档,这个文档即可以是完整的xml文档和xml片段,这样开发者就可以像使用int数据类型一样来使用xml数据类型.不过xml ...
- 千呼万唤岂出来,写款软件不容易——Visual Entity 2.0 发布
在各位用户不继的催更中,终于完成了这次更新.Visual Entity这个软件发布于 2011年,这个软件完成后,便上班去了,也没有做什么推广工作.所以知道的用户并不多,尽管它是个非常好用.并且免费的 ...
- HTML5之CSS3 3D transform 剖析式学习之一
最近坐地铁发现“亚洲动物基金”在地铁上做了很多公益广告,比较吸引人的是一个月熊的广告.做的很可爱.回去就搜了一下,发现这个网站是HTML5做的,非常炫. 所以想学习一下,方法就是传统的学习办法,模仿. ...
- 20160303 - 升级 Windows 10 版本 1511 后,文件夹默认打开方式为 cmd 的修复
问题描述:升级 Windows 10 版本 1511 (OS 内部版本 10586.122)后,文件夹的默认打开方式变成了cmd.双击任何一个文件夹,显示相关的提示错误信息如下: [Window Ti ...
- mysql 安装失败解决方法
在安装mysql的过程中,出现的最麻烦的问题和解决方法 安装后,启动不成功,就卡了,程序就没有响应. 如何解决: 找到mysql安装目录下的 #Path to the database root da ...
- 使用 Spring 3 来创建 RESTful Web Services
来源于:https://www.ibm.com/developerworks/cn/web/wa-spring3webserv/ 在 Java™ 中,您可以使用以下几种方法来创建 RESTful We ...
- navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法
配置了mycat,用navicat连接8066端口,点击“查询”的时候发现出现报错: 开始以为是mycat的配置有问题,找了好久都没发现错误.根据提示信息进入到相应的目录发现每个连接其实就是一个win ...