记一次对CSRF漏洞的简单分析(CNVD-2019-00135)

漏洞详情

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

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第1张图片

漏洞分析

登陆网站后台,注意后台目录

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第2张图片存在漏洞的URL为’http://IP/网站目录/upload/index.php?r=admini/admin/create‘

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第3张图片

这里首先手动添加一个管理员账号抓包分析

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第4张图片

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第5张图片

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第6张图片

添加管理员的数据用post方法进行传递,修改post中的数据在burp里面进行重放可添加其他管理员账号。

接下来检测有没有相关的CSRF防御措施,尝试删掉数据包里面的refer中的内容,进行重放,发现不能成功成功添加

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第7张图片

这里可能进行了refer校验,尝试检测refer校验的具体内容,在refer中加入域名,可成功添加

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第8张图片

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第9张图片

漏洞利用

此漏洞进行了refer校验,校验refer头中的域名,进行漏洞利用时在服务端建立同名文件夹进行绕过。

如下图所示构造html表单,将构造好的.html文件放到网站根目录下,发送链接给受害者,管理员登陆后台点击后相当于发送数据包给网站,成功添加一个超级管理员。

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第10张图片

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第11张图片

记一次对CSRF漏洞的简单分析(CNVD-2019-00135)_第12张图片

你可能感兴趣的:(web安全,漏洞复现)