漏洞概要
关注数(24)
关注此漏洞
漏洞标题:KPPW最新版SQL注入漏洞三(SQL注入及越权操作各两处)
提交时间:2014-12-09 00:36
修复时间:2015-03-09 00:36
公开时间:2015-03-09 00:36
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2014-12-09: 细节已通知厂商并且等待厂商处理中
2014-12-10: 厂商已经确认,细节仅向厂商公开
2014-12-13: 细节向第三方安全合作伙伴开放
2015-02-03: 细节向核心白帽子及相关领域专家公开
2015-02-13: 细节向普通白帽子公开
2015-02-23: 细节向实习白帽子公开
2015-03-09: 细节向公众公开
简要描述:
KPPW最新版SQL注入漏洞三(SQL注入及越权操作各两处),附脚本
详细说明:
KPPW最新版SQL注入漏洞三(SQL注入及越权操作各两处),附脚本
第一处SQL注入
文件/control/user/account_basic.php:
这里在保存基本信息时,变量$pk进入了save函数
跟进save函数,文件/lib/inc/keke_table_class.php:
当$pk[$key]不为空时,$key进入where条件,最后进入>$edit_query,进入sql语句
由于这里的key咋此系统是为全局处理的,也未加引号保护,导致sql注入
第二处SQL注入
文件/control/user/account_contact.php:
同理变量$pk进入sql语句,原理同上,导致SQL注入漏洞
有因为这里在更新用户基本信息时,where条件是根据用户数据的uid进行update
所以,这里我们可以update任意用户的基本信息了,导致越权操作
同理也能修改任意用户的联系方式
两处SQL注入,两处越权操作
漏洞证明:
发送此请求会延迟5秒返回:
看看数据库执行结果
sql语句 成功执行
获取数据使用sqlmap即可
测试代码给出简单跑数据脚本
越权操作,这里我们注册普通用户登录
然后修改联系方式,抓包,修改uid=1,即为admin的uid
然后即可修改管理员的联系方式
修复方案:
此系统全局为过滤key,使用户不可控即可,可以考虑给key加固定的取值list
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-12-10 17:20
厂商回复:
已修改 QK
最新状态:
暂无