漏洞详情
BageCMS是一套基于PHP和MySQL的跨平台的内容管理系统(CMS)。
BageCMS 3.1.3版本中存在跨站请求伪造漏洞。远程攻击者可借助upload/index.php?r=admini/admin/ownerUpdate URL利用该漏洞修改用户账户。
环境搭建
在phpstudy下进行的环境搭建,网站源码可自行百度BageCMS 3.1.3及以下版本应该都存在此漏洞,这里我下的是BageCMS 3.1.0
漏洞分析
登陆网站后台,注意后台目录
存在漏洞的URL为’http://IP/网站目录/upload/index.php?r=admini/admin/create‘
这里首先手动添加一个管理员账号抓包分析
添加管理员的数据用post方法进行传递,修改post中的数据在burp里面进行重放可添加其他管理员账号。
接下来检测有没有相关的CSRF防御措施,尝试删掉数据包里面的refer中的内容,进行重放,发现不能成功成功添加
这里可能进行了refer校验,尝试检测refer校验的具体内容,在refer中加入域名,可成功添加
漏洞利用
此漏洞进行了refer校验,校验refer头中的域名,进行漏洞利用时在服务端建立同名文件夹进行绕过。
如下图所示构造html表单,将构造好的.html文件放到网站根目录下,发送链接给受害者,管理员登陆后台点击后相当于发送数据包给网站,成功添加一个超级管理员。