Piwigo SQL注入漏洞

时间:2017-6-23 分享到:
厂商 Piwigo SQL注入漏洞
产品 Piwigo
受影响的版本 2.9.0及以前版本
测试版本 2.9.0
漏洞发现日期 2017-5-29
厂商通知日期 2017-5-29
预警公告日期 2017-6-2【无技术细节】
厂商确认日期 2017-6-16
厂商修复日期 2017-6-14
公开披露日期 2017-6-15
最新修正日期 2017-6-15
CVE ID CVE-2017-9463
产品描述 Piwigo是一个功能齐全的开源照片库,由用户和开发人员的活跃社区构建和支持,只需几秒钟就能轻松快捷地部署照片库。
发现者 Eric Castañeda, 安全研究员和渗透测试员 @zteaude group

漏洞描述


    SQL注入漏洞
    严重程度:     CVSS 分数: 4.7     CWE-ID: CWE-89     状态: 修复
    漏洞详情
    Piwigo 2.9.0及 之前版本的受到SQL注入漏洞的影响。这些漏洞可能允许通过身份验证的远程攻击者能获取用户从数据库检索数据信息。
    CVSS基准分
    攻击媒介     网络     范围     变化
    攻击复杂度     低     保密性影响     低
    所需特权     高     一致性影响     低
    用户互动     需要     可用性影响     低

详情


由于用户列表页面上缺少的输入验证,Piwigo有一个基于Blind time的SQL注入漏洞,可以通过附加到iDisplayStart参数的SQL语句来检索用户名和数据库名称等信息。

Example #1 SQL injection

要复制此问题,需要管理员级用户。 在Piwigo应用程序中,我们可以访问用户列表菜单并检索一些用户,这将显示包含用户名,电子邮件地址和级别权限的用户列表。通过此功能可以从数据库中检索到一些信息。
影响URL是 http://localhost/piwigo/admin/user_list_backend.php,并且以下数据通过POST请求发送到上述URL:

sEcho=1&iColumns=7&sColumns=,,,,,,&iDisplayStart=0&iDisplayLength=10&mDataProp_0=0&sSearch_0=&bRegex_0=false&bSearchable_0=true&bSortable_0=true&mDataProp_1=1&sSearch_1=&bRegex_1=false&bSearchable_1=true&bSortable_1=true&mDataProp_2=2&sSearch_2=&bRegex_2=false&bSearchable_2=true&bSortable_2=true&mDataProp_3=3&sSearch_3=&bRegex_3=false&bSearchable_3=true&bSortable_3=true&mDataProp_4=4&sSearch_4=&bRegex_4=false&bSearchable_4=true&bSortable_4=true&mDataProp_5=5&sSearch_5=&bRegex_5=false&bSearchable_5=true&bSortable_5=true&mDataProp_6=6&sSearch_6=&bRegex_6=false&bSearchable_6=true&bSortable_6=true&sSearch=&bRegex=false&iSortCol_0=0&sSortDir_0=&iSortingCols=1

一些参数不是强制性的,所以可以使用另一种发布数据代替

sEcho=1&iColumns=7&sColumns=,,,,,,&iDisplayStart=0&iDisplayLength=10&sSearch=&iSortCol_0=0&iSortingCols=0

Piwigo SQL注入漏洞

内容是从 http://localhost/piwigo/admin/user_list_backend.php 检索的,这是一个通过JSON返回信息的Web服务

下图显示了正常的请求和响应

Piwigo SQL注入漏洞

如果单引号是作为iDisplayStart参数值传递给MySQL,则会显示语法错误。

Piwigo SQL注入漏洞

以下屏幕截图显示了通过SQLmap自动利用SQL注入来检索数据库的名称:

Piwigo SQL注入漏洞

版权所有:http://www.zteaude.com 转载请注明出处