漏洞概要 关注数(2) 关注此漏洞
缺陷编号: WooYun-2014-81795
漏洞标题: 74cms(20141027)多处二次注入
相关厂商: 74cms.com
漏洞作者: JJ Fly
提交时间: 2014-11-05 14:05
公开时间: 2015-02-03 14:06
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 15
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2014-11-05: 细节已通知厂商并且等待厂商处理中
2014-11-08: 厂商已经确认,细节仅向厂商公开
2014-11-11: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-01-02: 细节向核心白帽子及相关领域专家公开
2015-01-12: 细节向普通白帽子公开
2015-01-22: 细节向实习白帽子公开
2015-02-03: 细节向公众公开
简要描述:
看完了xfkxfk大神的
http://wooyun.org/bugs/wooyun-2010-070827
http://wooyun.org/bugs/wooyun-2014-070858
对74cms尝试了下,果然有收货。
详细说明:
1.
会调用write_memberslog这个函数。
然后重点看这个变量$jobs['jobs_name']
从上面我们可以得知
$jobs=get_jobs_one($jobid,$uid);
然后再继续看下去
直接进行调用,没有处理。
So
我们可以这样,
新建一个职位,名称为
然后去为其消费,让其创建记录。置顶,变色,紧急,推荐都行。
然后在积分消费明细中可以看到
经过上面,我们可以得知,经过函数get_jobs_one
返回的值没有就行处理。
然后可以搜索下喊函数,看看在什么地方调用了,而且进入了数据库。
2.
下面继续看了一下申请职位名称这。
这一处,在 个人简历名称 职位名称 企业名称 三处都没有进行过滤,
随后我们可以去查看一下源码。
我们可以找出 上面这三处 数据 是怎么获取的,然后尝试是否可以扩大战果。
$jobsarr=app_get_jobs($jobsid);
foreach($jobsarr as $jobs){
$addarr['company_name']=$jobs['companyname'];
$addarr['jobs_name']=$jobs['jobs_name'];
}
简历信息在这
$resume_basic=get_resume_basic($_SESSION['uid'],$resumeid);
3.
在邀请面试的地方
同样发现了二次注入。
这个构造一下吧 。
把企业名称修改成这样
随后我们可以见下图
4.
经过测试,又发现,收藏职位处也可二次注入,
m'为企业名称
5.
发现一个有问题的函数
获取企业资料不检测直接返回,随后找了这个函数进行了调用,然后执行了数据操作。
然后再挖掘这个函数的
下载记录。
漏洞证明:
修复方案:
根据函数进行处理吧。
希望你们也自行检查一下,不要指哪补哪
版权声明:转载请注明来源 JJ Fly@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-11-08 11:50
厂商回复:
感谢反馈!
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值