漏洞概要
关注数(24)
关注此漏洞
漏洞标题:知音漫客多个站点存在SQL注入含主站(涉及450W用户信息)
提交时间:2016-02-21 09:30
修复时间:2016-02-26 09:40
公开时间:2016-02-26 09:40
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
Tags标签:
无
漏洞详情
披露状态:
2016-02-21: 细节已通知厂商并且等待厂商处理中
2016-02-26: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
当用户可控的数据未经过恰当的处理就进入了数据库执行的SQL语句中时,就可能存在SQL注入漏洞。攻击者可以定制特定的字符来改变SQL语句的语义。通过SQL注入漏洞可以造成多种危害,包括读取或者修改应用的数据,改变程序逻辑,提升权限和执行操作系统命令等。
详细说明:
1.
450W用户信息
poc:
数据库相关信息证明
仅证明,未查看存储任何用户信息。
漏洞证明:
2.
商城
http://shop.zymk.cn/index.php/Goodstest/order
post cart_id%5B%5D=444671&number%5B444671%5D=2
需要带有效cookie
参数存在sql注入。poc:
3.
需要带自己的cookie.。核心数据库450W用户信息。poc:
修复方案:
最有效的防御SQL注入的方式是在所有的数据库操作上使用参数化查询(也被称为预编译)。预编译通过两步把可能存在危害的数据整合到SQL查询中。第一步,应用定义查询语句的结构,在语句中预留位置给用户输入。第二部,应用把每个位置需要的用户输入传递给数据库。因为第一步中,应用已经定义了语句的结构,数据库已经对语法进行了编译,第二部中及时传入恶意的用户输入也无法影响SQL语句的语意,从而避免了SQL注入攻击。对于不同的数据库和编程语言需要查询文档,寻找合适的api。强烈建议使用参数化处理SQL语句中的每一个变量。需要注意的是以下一些防御SQL注入的方式并不总是有效的,所以不建议大家使用以下的方式防御SQL注入:一种常见的方式是在用户数据拼接到SQL语句之前转义其中的单引号。这是为了避免用户插入单引号,改变了SQL的语法。但是如果变量类型是数字型,这种防御就可能失败。因为SQL语句结构中并没有单引号包裹变量的话,仅仅使用空格就可以改变语法结构。另一种常见的防御方案是使用存储过程。尽管存储过程提供了很多安全特性,但是并不能保证防御SQL注入。当存储过程中可以动态创建SQL结构的时候就可能会发生SQL注入。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2016-02-26 09:40
厂商回复:
漏洞Rank:15 (WooYun评价)
最新状态:
暂无