在console/console.jsp文件中硬编码了验证权限的账户密码,通过登录console能够创建公司、修改客服密码,执行select查询以及SQL注射等高风险漏洞:
一共从request中获取5个参数iamkevin、companyId、login、userName、password。
其中iamkevin不等于null,companyId为任意值,login为当前setcookie中的sessionid,username为kevin,password为wuTAO198403242337。
以华为为例(**.**.**.**)进行测试,首先访问:
在返回中获得JSESSIONID:
这里是15B8A8CBD0D5D037CBAF752BD6361D3C
然后构造登录包:
登录成功后302到main.jsp:
首先查看配置信息:
得到jndi:
然后在dbcheck.jsp中使用jndi执行select的查询语句:
如果这里使用jndi没办法查询的话还有一处SQL注射在console/expireTimeAction.jsp中:
直接从request中获取到expireTime的值进入SQL查询中,导致SQL注射发生:
在登录后通过SQL通用能够查询出数据库内容,前文http://**.**.**.**/bugs/wooyun-2015-0147511写过这里就不再赘述了。
列几个受影响的站: